KamoCRM

Un 40001 în timp ce pregătește notificările de finalizare nu mai rulează semnătura înapoi

FixESigService
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.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing