KamoCRM

Un 40001 durante la preparazione delle notifiche di completamento non riporta più indietro la firma

FixESigService
Shipped
8 novembre 2026 alle ore 00:45 UTC
Author
Kamo
Commit
ae2e462

La prima pressione di Finish è fallita con un 500 e il riprovo è riuscito. Completamento Gli avvisi sono stati composti all'interno della transazione di firma sotto un catch-all: il loro Legge (sender, template, copy-link re-mint) colpisce YugabyteDB SQLState 40001 destra Dopo che le righe di firma sono state scritte, il repository ha contrassegnato la condivisione La transazione rollback-only, il catch l'ha inghiottita, e il commit ha gettato UnexpectedRollbackException - rollback dell'intera firma. - EsignNoticeComposer (nuovo fagiolo): tutto il lavoro di DB di avviso, REQUIRES_NEW + @RetryOnDbConflict, rilettura per id, eseguita da afterCommit. EsignNotificationService Ora cattura solo ID, pianificazioni e invii. Si applica a completato, decodificato, Avvisi annullati e scaduti. - submit() e decoder() sono @RetryOnDbConflict (consulente di libreria condivisa, esterno La transazione), quindi qualsiasi 40001 viene riprovato in una nuova transazione. - Il fall-soft flatten / certificato e le catture di record di utilizzo ora rigettano un Conflitto transitorio o stato di solo rollback (DbConflicts.rethrowIfDoomed) invece di inghiottirlo in un commit avvelenato. - SigningSurvivesDbConflictTest riproduce il rollback dell'eccezione ingerita Reale transazione proxy e prova avvisi e inviare sopravvivere a 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