KamoCRM

A 40001 while preparing completion notices no longer rolls the signature back

FixESigService
পাঠানো হয়েছে
৮ নভেম্বর, ২০২৬ এ ১২:৪৫ AM UTC
লেখক
Kamo
কমিট
ae2e462

The first press of Finish failed with a 500 and the retry succeeded. Completion notices were composed INSIDE the signing transaction under a catch-all: their reads (sender, template, copy-link re-mint) hit YugabyteDB SQLState 40001 right after the signature rows were written, the repository marked the shared transaction rollback-only, the catch swallowed it, and the commit threw UnexpectedRollbackException - rolling back the whole signature. - EsignNoticeComposer (new bean): all notice DB work, REQUIRES_NEW + @RetryOnDbConflict, re-read by id, run from afterCommit. EsignNotificationService now only captures ids, schedules, and sends. Applies to completed, decoderd, voided and expired notices. - submit() and decoder() are @RetryOnDbConflict (shared-library advisor, outside the transaction), so any 40001 is retried in a new transaction. - The fail-soft flatten/certificate and usage-record catches now rethrow a transient conflict or a rollback-only state (DbConflicts.rethrowIfDoomed) instead of swallowing it into a poisoned commit. - SigningSurvivesDbConflictTest reproduces the swallowed-exception rollback on real transaction proxies and proves notices and submit survive a 40001.

সব পরিবর্তন

তুমি যা দেখতে পাচ্ছো তার মত?

সবকিছুই আপনার কর্মক্ষেত্রে এসে পৌঁছে যাবে। ফ্রি প্ল্যানে শুরু করুন এবং এক মাসের মধ্যে এই পাতাটি আবার পড়ুন।

মুক্ত সবসময় শুরু করুনমূল্য প্রদর্শন