Repository navigation
test(blob): cover secondary base store reuse - #8693
Conversation
|
Blocked: The current-head Rust Remote head |
Port the Blob multi-base registry regression to the split dataset/blob modules.
There was a problem hiding this comment.
✅ Gate recommendation: approve.
This adds a focused regression guard for Blob V2 reads from an additional base. The repeated-read registry assertion protects dataset-scoped store ownership across two fragments, while the shared fixture retains inline, packed, dedicated, and data-only-base coverage.
Xuanwo
left a comment
There was a problem hiding this comment.
Approves the test-only regression after merging current main. The fixture exercises two fragments and repeated public Blob reads while retaining packed, dedicated, and data-only coverage. The file:// fixture and registry-attempt assertion intentionally cover store resolution, not network connection reuse. Full applicable CI and Gatekeeper pass on this head.
Summary
Root cause
The object store registry intentionally keeps only weak references. Before the dataset-scoped additional-base cache added in #8530, the blob read context's per-call
Arc<ObjectStore>was the only strong owner, so dropping each read also dropped the HTTP client and connection pool. Currentmaincontains that ownership fix; this PR adds direct regression coverage for the reported Blob V2 path so later changes cannot silently restore per-read store construction.Validation
cargo test -p lance test_take_blob_v2_from_non_default_base_inline_reuses_storecargo test -p lance test_take_blob_v2_from_non_default_basecargo fmt --allcargo clippy --all --tests --benches -- -D warningsFixes #8692