fix(versioning): isolate action metadata writes#41943
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #41943 +/- ##
=======================================
Coverage 65.01% 65.01%
=======================================
Files 2744 2744
Lines 153571 153574 +3
Branches 35212 35212
=======================================
+ Hits 99842 99847 +5
+ Misses 51822 51820 -2
Partials 1907 1907
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
e01b86a to
dd56ad2
Compare
dd56ad2 to
c1d795e
Compare
Code Review Agent Run #a8f711Actionable Suggestions - 0Review Details
Bito Usage GuideCommands Type the following command in the pull request comment and save the comment.
Refer to the documentation for additional commands. Configuration This repository uses Documentation & Help |
SUMMARY
Makes optional
version_transaction.action_kindpersistence genuinely fail-open.Action kinds such as
restore,import, andcloneare descriptive metadata. A failed PostgreSQL UPDATE must not poison the transaction containing the actual entity save. This change wraps the metadata UPDATE in a SAVEPOINT during commit finalization, after Continuum has produced its canonical transaction and shadow rows.On failure, only the optional action classification is rolled back. The entity save, canonical history, and semantic change records continue to commit. The action intent is consumed exactly once and cannot leak into a later transaction on a reused session.
Tracked by sc-112938.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Not applicable; backend transaction-safety fix.
TESTING INSTRUCTIONS
Run the focused PostgreSQL failure case:
Run unit coverage:
Run the complete versioning regression set:
Observed after rebase: 15 unit tests and 25 PostgreSQL integration/regression tests passed. Changed-files pre-commit and full GitHub CI passed.
ADDITIONAL INFORMATION