KamoCRM

A 40001 lors de la préparation des avis d'achèvement ne retourne plus la signature

FixESigService
Expédié
8 novembre 2026 à 00:45 UTC
Auteur
Kamo
Commit
ae2e462

La première pression de Finish a échoué avec un 500 et la réessai a réussi. Achèvement Les avis ont été composés à l'intérieur de la transaction de signature sous un catch-all: leur lectures (expéditeur, modèle, copie-lien re-mint) hit YugabyteDB SQLState 40001 right Après l'écriture des lignes de signature, le dépôt a marqué le partage Le catch l'a avalé, et le commit a jeté le fichier UnexpectedRollbackException - retour en arrière de la signature entière. - EsignNoticeComposer (nouveau bean): tous les travaux de base de données d'avis, REQUIRES_NEW + @RetryOnDbConflict, re-lu par id, exécuté depuis afterCommit. EsignNotificationService Capture désormais uniquement les ids, les schedules et les sends. S'applique aux Avis annulés et expirés. - submit() et decoder() sont @RetryOnDbConflict (conseiller de bibliothèque partagée, en dehors de La transaction), donc n'importe quel 40001 est réessayé dans une nouvelle transaction. - Les captures fail-soft flatten/certificate et usage-record renvoient maintenant un Un conflit transitoire ou un état de retour en arrière (DbConflicts.rethrowIfDoomed) Au lieu de l'avaler dans un commit empoisonné. - SigningSurvivesDbConflictTest reproduit le rollback de l'exception swallowed Les vrais mandataires de transactions et les avis de preuves et de soumission survivent à un 40001.

Tous les changements

Comme ce que vous voyez l'expédition?

Commencez avec le plan gratuit et lisez à nouveau cette page dans un mois, puis passez à l’abonnement payant pour bénéficier de toutes les fonctionnalités.

Commencez gratuitement pour toujoursVoir la tarification