- Shipped
- 8 noiembrie 2026 la 00:45 UTC
- Author
- Kamo
- Commit
- ae2e462
Prima apăsare a butonului Finish a eșuat cu un 500, iar reîncercarea a reușit Notificările au fost compuse în interiorul tranzacției de semnare sub un catch-all: Citește (expeditor, șablon, copy-link re-mint) hit YugabyteDB SQLState 40001 dreapta După ce au fost scrise rândurile de semnătură, depozitul a marcat partajarea În cazul în care tranzacția este doar rollback, captura a înghițit-o, iar commit-ul a aruncat UnexpectedRollbackException - revenirea întregii semnături. - EsignNoticeComposer (fasole nouă): toate lucrările de notificare DB, REQUIRES_NEW + @RetryOnDbConflict, re-citit de id, rulat de la afterCommit. EsignNotificationService Acum captează doar ID-uri, programe și trimite. Se aplică la completat, decodat, Notificări anulate și expirate. - submit () și decoder () sunt @RetryOnDbConflict (consilier de bibliotecă partajată, în afara În acest caz, orice 40001 este reîncercat într-o nouă tranzacție. - Capturile de aplatizare / certificat și de utilizare a înregistrărilor de eșec-soft acum aruncă o Conflict tranzitoriu sau o stare doar de anulare (DbConflicts.rethrowIfDoomed) în loc să-l înghită într-un commit otrăvit. - SigningSurvivesDbConflictTest reproduce rollback-ul excepției înghițite Real proxy-uri de tranzacție și dovedește notificări și depune supraviețui un 40001.
