Skip to content

feat(wal): add bounded quorum application queries - #406

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

beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-quorum-read

Conversation

@beinan

@beinan beinan commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add bounded quorum queries for publisher bindings, accepted pages and producer tails to the optional replicated WAL. The leader uses safe Raft ReadIndex, applies through the confirmed position, and captures metadata together with its scoped cursor; these reads do not append log entries or copy payload bodies.

Reads share proposal capacity and request tokens. New leaders reject reads before committing an entry in their current term, preventing raft-rs from silently dropping accepted requests. Leadership changes return an unknown outcome, and storage errors fence reads alongside appends. Results are observations, not external Lance commit fences or producer acknowledgments.

Refs #378.

Testing

  • 60 focused Rust tests passed, including a new-leader regression that fails before the readiness guard and passes afterward. Real TCP processes cover quorum reads, isolated leaders, snapshot recovery and full restart; storage tests cover shared-engine sync failure fencing.
  • 605 workspace Rust tests passed. The complete repository CI helper passed formatting, Clippy, Python tests (229 passed, 2 skipped, 1 expected failure), Ruff and Pyright.
  • All-feature WAL Clippy, source spelling, server build and workspace packaging passed. Source and server checksums remained unchanged throughout qualification.

@beinan
beinan merged commit b399241 into lance-format:main Oct 20, 2026
12 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