Skip to content

chore: upgrade Lance dependencies to 13.0.0 - #374

Merged
beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/lance-13-upgrade
Oct 19, 2026
Merged

beinan merged 1 commit into
lance-format:mainfrom
beinan:codex/lance-13-upgrade

Conversation

@beinan

@beinan beinan commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Upgrade Rust Lance and optional Python pylance dependencies from 9 to 13.0.0, including the SSTable metadata, explicit manifest refresh, SealFence, and object-store API adaptations. Preserve exact-version merge authorization across Lance's internal commit retries; a regression test races a concurrent manifest commit with authorization revocation.

Before deploying to existing MemWAL datasets, flush and merge all old pending generations using the old binaries, then upgrade readers and writers together. The upstream field-ID change prevents safely mixing old flushed generations with new readers; see docs/design/lance-13-upgrade.md.

Testing

  • Passed the repository's full run_ci_checks.sh: workspace format, all-target Clippy and tests; Python pytest (229 passed, 2 skipped, 1 expected failure), Ruff format/lint, and Pyright (0 errors/warnings).
  • Built lance-context-server and the Python extension against the upgraded dependencies.
  • Concurrent-manifest/revocation regression passed with the core suite. GitHub's Rust/etcd HA, coverage, Python test-wheel matrix and Python test jobs also passed.

Refs #378.

@beinan
beinan marked this pull request as ready for review October 19, 2026 02:45
@beinan
beinan merged commit 6024363 into lance-format:main Oct 19, 2026
16 checks passed
beinan added a commit that referenced this pull request Oct 19, 2026
## Summary
Add a feature-gated, unpublished Rust WAL experiment crate to compare
Arrow IPC decoding/row-copy costs and local durable log writes before
integrating the distributed WAL. The codec benchmark verifies complete
Arrow equality and actual payload buffer sharing, including unaligned
input; the raft-engine benchmark performs synced writes across groups,
reopens storage, and compares every payload.

Results are JSON with allocation counts and separate
write/recovery/verification timing. The README documents measurement
limits, and CI builds/lints the optional binary and runs tiny
correctness smoke cases.

## Testing
- Passed the repository's full `run_ci_checks.sh`: workspace format,
all-target Clippy and tests; Python pytest (229 passed, 2 skipped, 1
expected failure), Ruff format/lint, and Pyright (0 errors/warnings).
- Component check and all-target Clippy with `--features lab` passed.
Codec smoke passed all five paths and shared-buffer checks; disk smoke
reopened and verified 64 entries.
- Spelling and diff checks passed. Rebasing after #374's squash merge
preserved the exact source tree tested locally.
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