Skip to content

feat(wal): close source pins with durable publication fences - #415

Merged
beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-source-closure-final
Oct 20, 2026
Merged

beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-source-closure-final

Conversation

@beinan

@beinan beinan commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Persist a source-group closed-plan fence before releasing its publication pin. A catalog quorum proof authorizes closure only for the exact durable Published outcome, binding the source selection, independent cursor and selected manifest. Delayed old pin requests are rejected, and identical closure retries recover their original confirmation index after restart.

Bound closure history by registered-table capacity and validate it in v8 checkpoints. Real Lance six-process tests cover lost closure replies, source snapshots, full process restart, old-pin rejection and complete payload readback. Payload retirement and physical reclamation remain separate work.

Refs #378.

Testing

The complete repository CI helper passed: 605 workspace Rust tests, Python 229 passed / 2 skipped / 1 expected failure, formatting, Clippy, Ruff and Pyright. All-feature WAL Clippy, server build and workspace packaging passed. All 97 focused Rust tests passed, including 10 process tests; immutable source hashes matched before and after qualification.

The rebased WAL source and test files are byte-identical to the locally qualified versions; final-head CI also validates integration with current main.

@beinan
beinan merged commit 1bd57b4 into lance-format:main Oct 20, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant