Skip to content

feat(wal): persist publication outcomes from selected manifests - #414

Merged
beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-publication-outcomes
Oct 20, 2026
Merged

beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-publication-outcomes

Conversation

@beinan

@beinan beinan commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Record a durable Published outcome only when the catalog's selected immutable manifest matches the exact pending plan and prepared descriptors. Identical retries recover the original confirmation index across takeover; stale owners cannot create a new outcome.

Retain source selections, descriptors and pins until a separate source closure protocol. Share selected manifest records through Arc and validate outcomes in bounded v7 checkpoints. This change does not retire payloads or enable production ingestion.

Extend real Lance six-process tests with a lost confirmation reply, catalog snapshot, full process restart and quorum outcome recovery before verifying the actual transaction and complete payloads.

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 also passed.

All 95 focused Rust tests passed, including 10 process tests. Immutable source hashes matched before and after qualification.

The qualified change was rebased onto current main without changing any PR source files. Additional inherited main changes are covered by their merged PR checks; final-head CI validates the combined tree.

@beinan
beinan merged commit 9b75542 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