KamoCRM

40001 під час підготовки сповіщень про завершення більше не повертає підпис назад

FixESigService
Shipped
8 листопада 2026 р. о 00:45 UTC
Author
Kamo
Commit
ae2e462

Перше натискання кнопки Завершити зазнало невдачі з результатом 500, повторна спроба завершилася успішно. Завершення повідомлення були складені ВНУТРІШНЬО підписання транзакції під catch- all: їх читання (відправник, шаблон, копіювання- посилання, перезапис) викликало YugabyteDB SQLState 40001 right після запису рядків підпису, сховище позначило спільний ресурс операція з можливістю тільки відновлення, catch проковтнув її, а commit викинув UnexpectedRollbackException — відновлення всього підпису. - EsignNoticeComposer (новий компонент): всі роботи з бази даних повідомлень, REQUIRES_ NEW + @ RetryOnDbConflict, перечитування за ідентифікатором, виконання з afterCommit. EsignNotificationService тепер захоплює лише ідентифікатори, розклади і надсилання. Застосовується до завершених, декодованих, анульовані та застарілі повідомлення. - submit () і decoder () є @ RetryOnDbConflict (довідник спільної бібліотеки, зовнішній) транзакції), тому будь- який 40001 буде повторено у новій транзакції. - Захоплення fail- soft flatten/ certificate і use- record тепер повертають перехідний конфлікт або стан, який можна повернути (DbConflicts. rethrowIfDoomed) замість того, щоб проковтнути його в отруєний запит. - SigningSurvivesDbConflictTest відтворює відновлення винятку « поглинуто » Проксі реальних транзакцій і докази повідомлень і подачі переживають 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