Repository navigation
fix(vane): track Windows distributed mutation artifacts - #56
Merged
kaka11chen merged 1 commit intoNov 8, 2026
Merged
Conversation
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
kaka11chen
added a commit
that referenced
this pull request
Nov 9, 2026
Stage the next Lance provider release on TestPyPI so the Windows distributed mutation fix from #56 can be qualified with a production-signed provider. ane-extension-lance==0.3.0.1 cannot be rebuilt: TestPyPI's Warehouse ile_registry permanently records every uploaded filename, and ane_provider_release.py requires elease_number to increase beyond indexed releases for the same Vane X.Y.Z. This bump stages ane-extension-lance==0.3.0.2 against the unchanged ane-ai==0.3.0 runtime: - elease_number: 1 -> 2 - provider version:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Windows drive paths such as
C:\...andD:/...were parsed as non-file URI schemes in mutation workers. They consequently reopened the dataset through Lance's direct local writer, bypassing the object-store wrapper that tracks mutation files. UPDATE replacements and partial-DELETE files could be written and then rejected by transaction artifact validation.Use upstream
uri_to_url()and OS-awareto_file_path()before selectingfile-object-store. Resolve the C++ error-redaction policy before the mutation FFI call so path normalization cannot erase its Rust error. Keep artifact validation and diagnostic redaction in place.Regression coverage now includes local paths/file URIs with spaces, Unicode and literal percent escapes, plus the existing remote URI behavior. The existing Windows/macOS qualification script now exercises UPDATE, whole-fragment and partial DELETE, and full-table mutations in both local and Ray modes. The failed-UPDATE test requires the underlying nullability error rather than accepting only the generic transaction prefix.
Validation
cargo test --locked --offline --lib --features vane-distributed ffi::distributed_mutation::tests: 5 passed; compiled the changed Rust source.src/lance_distributed_write.cppwith the released Vane 0.3.0 SDK headers andLANCE_VANE_DISTRIBUTED: passed.python -m pytest -q python/tests/test_vane_platform_release.py: 23 passed.uv run make format,cargo fmt --all --check, Black, Python syntax checks andgit diff --check: passed.Windows verification of the rebuilt provider and the end-to-end error-detail regression remain pending. No TestPyPI/PyPI publication is part of this PR.
Windows verification
Use the matched Windows base/provider wheels built for this PR (the
vane-lance-full-windowsCI artifact), in a fresh CPython 3.12 x64 environment. The already published0.3.0.1wheel and the old test kit's pinnedinstallstep still select the old native code.From this PR checkout, after installing those CI wheels:
Use fresh output directories. The script verifies signed loading, exact mutated rows and the empty result after full DELETE. Inspect actor stderr as well as command exit status.
The separate GIL abort is tracked in AstroVela/vane#1146, with the related upstream duckdb-python#456 and #462. That crash's exact native caller still needs a Windows stack; this mutation fix does not claim to fix it.