- Shipped
- 8 listopada 2026 00:45 UTC
- Author
- Kamo
- Commit
- ae2e462
Pierwsze naciśnięcie przycisku Finish zakończyło się niepowodzeniem z wynikiem 500, a ponowna próba zakończyła się sukcesem Zawiadomienia zostały skomponowane wewnątrz transakcji podpisania pod catch-all: ich Odczyty (nadawca, szablon, ponowne utworzenie łącza do kopii) trafienie YugabyteDB SQLState 40001 right Po zapisaniu wierszy podpisu, repozytorium oznaczyło udostępnione pliki jako Transakcja była tylko cofania, catch połknął go, a zatwierdzenie rzucił UnexpectedRollbackException - cofanie całego podpisu. - EsignNoticeComposer (nowa fasola): wszystkie prace DB, REQUIRES_NEW + @RetryOnDbConflict, ponownie odczytany przez id, uruchomiony z afterCommit. EsignNotificationService Teraz przechwytuje tylko identyfikatory, harmonogramy i wysyła. Dotyczy zakończonych, dekodowanych, Nieważne i wygasłe powiadomienia. - submit() i decoder() są @RetryOnDbConflict (doradca biblioteki współdzielonej, poza Transakcja), więc każdy 40001 jest ponownie próbowany w nowej transakcji. - Połowy spłaszczania / certyfikatu i rekordu użycia są teraz odrzucane Przejściowy konflikt lub stan tylko do cofnięcia (DbConflicts.rethrowIfDoomed) zamiast połykać go w zatruwający commit. - SigningSurvivesDbConflictTest odtwarza cofnięcie wyjątku połkniętego Prawdziwe proxy transakcji i dowody powiadomień i zgłoszeń przetrwały 40001.
