Bound native FDs and prevent text merge livelock - #433
Merged
Conversation
ajroetker
force-pushed
the
codex/fix-fd-budget-text-merge-backpressure
branch
from
August 3, 2026 04:52
3279baa to
b298451
Compare
…ext-merge-backpressure # Conflicts: # zig/pkg/antfly/src/storage/db/catalog/index_manager.zig
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.
Summary
Correctness
Late text deletes are reconciled by stable document ordinal, with stored document ID as fallback. Replacement deletion bitmaps are persisted in the same transaction as the segment catalog update and installed in the same volatile snapshot publication. Source segment replacement and non-monotonic deletion state remain stale and are still rejected.
Native path locks remain backed by owned std.Io.Threaded runtimes because their filesystem and locking operations are blocking. Text producer admission uses the owning BackendRuntime threaded I/O so cancellation and shutdown propagate through the runtime.
This branch is based on merged PR #430 HEAD. The four previously observed algebraic-filter mismatches were not a source-verified defect and this PR does not claim an unproven fix for them. A frozen repeat should still retain acknowledged write sequence/version, query identity generation, index applied sequence, direct source/hash, posting membership, restart result, and the first mismatching store.
Validation
zig build: passed