- Shipped
- lúc 00:45 8 tháng 11, 2026 UTC
- Author
- Kamo
- Commit
- ae2e462
Cuộc bấm đầu tiên của Finish thất bại với 500 và nỗ lực tái tạo thành công các thông báo được soạn thảo bên trong giao dịch ký kết dưới một catch-all: đọc (người gửi, mẫu, copy-link re-mint) chạm YugabyteDB SQLState 40001 right sau khi các hàng chữ ký được viết, kho đã đánh dấu chia sẻ giao dịch rollback-only, catch nuốt nó, và commit ném UnexpectedRollbackException - quay lại toàn bộ chữ ký. - EsignNoticeComposer (bean mới): tất cả công việc DB thông báo, REQUIRES_NEW + @RetryOnDbConflict, đọc lại theo id, chạy từ afterCommit. EsignNotificationService Bây giờ chỉ ghi nhận id, lịch và gửi. Áp dụng cho hoàn thành, giải mã, Thông báo hủy bỏ và hết hạn. - submit () và decoder () là @RetryOnDbConflict (cố vấn thư viện chia sẻ, bên ngoài giao dịch), vì vậy bất kỳ 40001 được thử lại trong một giao dịch mới. - Các chứng chỉ và hồ sơ sử dụng đã bị đánh cắp xung đột tạm thời hoặc trạng thái chỉ quay lại (DbConflicts.rethrowIfDoomed) thay vì nuốt chửng nó thành một cái đầu độc. - SigningSurvivesDbConflictTest tái tạo trường hợp ngoại lệ bị nuốt chửng thực tế giao dịch đại diện và chứng minh thông báo và nộp sống sót một 40001.
