-
Notifications
You must be signed in to change notification settings - Fork 2
Serialize database destruction with concurrent opens #787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kriszyp
wants to merge
39
commits into
main
Choose a base branch
from
kris/serialize-destroy-open
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+2,273
−413
Open
Changes from all commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
3f7d602
Serialize same-path opens with database destruction
kriszyp 8eead8b
Address lifecycle review findings
kriszyp 1586b42
Contain lifecycle close failures
kriszyp 9974ccd
Close remaining lifecycle race windows
kriszyp 98d007b
Make descriptor close retries resumable
kriszyp f275098
Resolve lifecycle review findings
kriszyp 370da80
Contain close failures to the affected database
kriszyp a08f35f
Complete teardown after close status errors
kriszyp 33b24e3
Make cross-env lifecycle teardown safe
kriszyp 4d250b9
Close remaining lifecycle race windows
kriszyp 15b3a32
Update stream destroy lifecycle coverage
kriszyp 63c2f5b
Close final lifecycle race windows
kriszyp fe45f68
Gate opens across process shutdown
kriszyp dad49e3
Rescan lifecycle state after destroy
kriszyp 90d5c3a
Keep destroy recovery explicit
kriszyp a9bfc71
Release cancelled lifecycle operations
kriszyp 74b36ca
Preserve read-only destroy protection
kriszyp 4fbc561
Document destroy during stream backup
kriszyp 1a57c92
Restrict destroy to known database handles
kriszyp deaf306
Run lifecycle fault fixtures under Node
kriszyp 6236d8c
Resolve Node for lifecycle fixtures
kriszyp db591e0
Consume close-failure seam natively
kriszyp d143093
Release copy pins before promise settlement
kriszyp 8a37695
Align stream backup completion cleanup
kriszyp f4409a5
Seed retry delay before fixture startup
kriszyp 0b47d27
Fix cross-thread destruction cleanup
kriszyp 76b5b9f
Address lifecycle review feedback
kriszyp b1c2713
fix(lifecycle): close teardown review gaps
kriszyp 39b74db
fix(lifecycle): quarantine unsafe close failures
kriszyp 9bc9d3f
Fix worker teardown ordering in CI gates
kriszyp ecf1e37
Surface worker benchmark teardown failures
kriszyp 0370286
Keep VT fast paths teardown-independent
kriszyp 6251c00
Serialize iterators with forced teardown
kriszyp 9a4b6a5
Address remaining lifecycle review findings
kriszyp ba405dc
Address remaining lifecycle review threads
kriszyp 352f9ee
Keep close-time compaction cancellable through the full drain, guard …
kriszyp 3abf800
Make async-work admission and cancellation mutually exclusive; wait u…
kriszyp ab5cd96
fix(async): release admitted async-work claims on a queue failure
kriszyp ba0e1c0
fix(close): cancel compaction before async drain
kriszyp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Medium: duplicate invariant
17.— already failing CI'sCheckjobThis branch's own new invariant (
632: **Async-work admission and cancellation share one mutex...**) and the invariant that arrived via#780's merge intomain(654: **An env's pending transactions are reaped by its cleanup hook...**) are both numbered17.. Confirmed in both your branch tip and GitHub's ownrefs/pull/787/mergecontent — this isn't a stale-local-clone artifact.This is not just a cosmetic nit: it's already red. The
Checkjob (pnpm fmt:check→oxfmt --check) is failing right now onba0e1c07specifically because of this file (verified against the actual CI run and reproduced locally withoxfmt --check/oxfmt AGENTS.md).oxfmtdoes auto-renumber ordered-list items in Markdown — running it without--checkrewrites the second17.to18.— which also means the doc note just added a few lines above this ("oxfmt formats TS/JS/JSON only. It does not touch C++ or Markdown") is itself incorrect; oxfmt clearly does reformat this file's Markdown lists. No source file references "invariant 17" by number today, so renumbering to18.is a clean, safe fix with no cross-references to chase.Suggested fix:
—
Generated by Barber AI