feat: introduce IncompatibleTransaction error#6003
feat: introduce IncompatibleTransaction error#6003wjones127 merged 2 commits intolance-format:mainfrom
Conversation
Code Review: PR #6003 - feat: introduce IncompatibleTransaction errorSummaryThis PR introduces a new P1 Issue: Java bindings inconsistencyThe Java error mapping at LanceError::DatasetNotFound { .. }
| LanceError::DatasetAlreadyExists { .. }
| LanceError::CommitConflict { .. } // ← explicitly handled
| LanceError::InvalidInput { .. } => Self::input_error(err.to_string()),
// IncompatibleTransaction falls through to RuntimeExceptionSince The rest of the changes look correct - the error variant is well-defined, tests have been updated appropriately, and the error message provides good context about the incompatibility. |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
From lance-format#5983 (comment), we currently use `CommitConflict` for two situations: 1. Incompatible transactions: there is a conflict that is not retry-able. For example, you are trying to create an index, but a concurrent transaction overwrote the table and changed the schema. 1. Commit step ran out of retries: we hit the max number of rebase attempts, and even though we could retry again, we aren't. This is indeed just throttling. This makes them separate errors.
From lance-format#5983 (comment), we currently use `CommitConflict` for two situations: 1. Incompatible transactions: there is a conflict that is not retry-able. For example, you are trying to create an index, but a concurrent transaction overwrote the table and changed the schema. 1. Commit step ran out of retries: we hit the max number of rebase attempts, and even though we could retry again, we aren't. This is indeed just throttling. This makes them separate errors.
From #5983 (comment), we currently use `CommitConflict` for two situations: 1. Incompatible transactions: there is a conflict that is not retry-able. For example, you are trying to create an index, but a concurrent transaction overwrote the table and changed the schema. 1. Commit step ran out of retries: we hit the max number of rebase attempts, and even though we could retry again, we aren't. This is indeed just throttling. This makes them separate errors.
From #5983 (comment), we currently use
CommitConflictfor two situations:This makes them separate errors.