Skip to content

Conversation

@hushengquan
Copy link
Contributor

Recently, Lance added support for distributed compaction and distributed index building. Using these features with Ray requires calling them through the Python API. However, my existing application reads and writes datasets using the Rust API, and the underlying object storage does not support the atomic put-if-not-exist semantic. Therefore, I implemented an ExternalManifestStore interface in Rust. However, when trying to implement distributed compaction based on Ray, I discovered that the transaction atomicity mechanisms in Python and Rust are inconsistent, and only one CommitHandler can operate on a single dataset at a time. Therefore, I implemented a mechanism that allows using ExternalManifestCommitHandler with the Python API as well, thus achieving atomic transaction commits across different language APIs.

issue:#5751

@github-actions
Copy link
Contributor

ACTION NEEDED
Lance follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

For details on the error please inspect the "PR Title Check" action.

@hushengquan hushengquan changed the title feature: unifying the implementation of transactional commit atomicity across different languages feat: unifying the implementation of transactional commit atomicity across different languages Jan 21, 2026
@github-actions github-actions bot added the enhancement New feature or request label Jan 21, 2026
@hushengquan hushengquan force-pushed the main branch 8 times, most recently from 79e0cb4 to fe112d4 Compare January 22, 2026 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant