Skip to content

feat: add stable WAL session placement and receipt scopes - #376

Merged
beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-session-placement
Oct 19, 2026
Merged

beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/wal-session-placement

Conversation

@beinan

@beinan beinan commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add the optional placement module to the independent WAL crate. It routes a tenant/table/session key to a stable virtual bucket, validates an immutable RF3 layout, and scopes receipts by cluster, layout fingerprint, group and log index. Invalid or ambiguous ownership is rejected before routing; changing a validated layout requires migration.

The hash formats match the existing Rust experiments. This PR supplies placement types only; it does not connect a distributed writer to production ingestion.

Testing

  • Full .codex/skills/ci-pr-helper/scripts/run_ci_checks.sh: workspace Rust formatting, Clippy and tests; Python 229 passed, 2 skipped, 1 xfailed; Ruff and Pyright passed.
  • cargo test --release -p lance-context-wal --features placement: three tests, including the recorded layout compatibility fixture and an independently checked session hash vector.
  • cargo clippy --release -p lance-context-wal --features lab,placement --all-targets -- -D warnings.
  • Spelling and diff whitespace checks passed. CI explicitly exercises the optional module.

Refs #378.

@beinan
beinan merged commit ca0e5f1 into lance-format:main Oct 19, 2026
16 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