Repository navigation
refactor(server): complete request transaction cleanup - #3302
Merged
imbajin merged 7 commits intoOct 10, 2026
Merged
Conversation
- attempt every transaction owner and preserve failures - detach failed owners before reusing worker threads - retain caller transactions and task commit behavior - serialize the final backend session release - document and test transaction lifecycle boundaries
- validate shared backend availability under the pool lock - reject sessions acquired after final backend release - test the pool guard without backend factory checks
This was referenced Oct 9, 2026
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #3302 +/- ##
============================================
- Coverage 41.42% 41.37% -0.06%
- Complexity 6931 6943 +12
============================================
Files 762 762
Lines 66773 66934 +161
Branches 8939 8988 +49
============================================
+ Hits 27662 27694 +32
- Misses 35957 36067 +110
- Partials 3154 3173 +19 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- serialize store open and final session close - verify surviving borrowers across store cleanup - use valid task and private transaction fixtures
26 of 90 tasks
- retain owner failures while attempting later cleanup - keep graph finalization behind transaction and task drain - retry distributed task drain after timeouts - cover memory owner failure and close retry boundaries
- combine query, Cypher and transaction guidance - retain runtime configuration and compatibility limits - remove temporary verification and CI roadmaps - update README and build guide entry points
- collect failures inside ordinary task workers - report all errors after worker cleanup accounting - retain rollback errors before owner close failures - cover both public graph close failure paths
Reject HStore borrowers after the shared session closes. Keep pending local task persistence usable until drain. Skip owner callbacks while scheduler close is incomplete. Cover closed borrowing, task persistence and close retry.
MrJs133
approved these changes
Oct 10, 2026
5 of 11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Request and task cleanup releases owned graph transactions while preserving failures and worker reuse. Backend Store open and final session close share their synchronization boundary; HStore also rejects borrowers after its shared session closes.
Graph shutdown continues safe cleanup after an owner error. Ordinary task-worker failures are collected, and rollback failures retain later owner-close errors as suppressed. Pending local tasks keep their task database transaction until completion; an incomplete distributed drain no longer queues another unbounded wait on the same worker. The configured tx.close policy is preserved.
Regression tests cover multiple graphs, worker cleanup failures, rollback plus owner-close failure, closed HStore borrowing, task completion persistence and drain retry. Independent review and focused local tests passed; backend integration results are reported by the PR checks. Logical graph closure does not prove an unsuccessful native release succeeded.
Long-term runtime, query/Cypher and transaction contracts are consolidated in
docs/server-runtime.md. Short change notes, test logs and temporary CI roadmaps were removed. This PR remains independent of the Store split and does not duplicate #3298.