[Improvement] Preserve ownership and recoverability during Lance table overwrite
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 935
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 339
Description
### What would you like to be improved?
Overwrite currently drops and recreates the table. A MODIFY_TABLE-only caller gains ownership and can subsequently deregister a table that previously returned 403. A failed replacement can also leave the original table missing after its data has been purged.
Parent: #9087. Follow-up from the review of #12954.
### How should we improve?
Preserve table identity, ownership, and privilege associations. Validate and stage the replacement before switching metadata, and defer destructive cleanup until the switch succeeds. Define retry and recovery behavior for storage or metadata failures.
Add unit and HTTP integration tests for retained ownership, unchanged privileges, failed replacement preserving the original table/data, concurrent overwrite, and retry behavior. Cover both create and register overwrite paths as applicable.
Contributor guide
Research direction
Start by tracing the create and register overwrite paths mentioned in the issue, then review how table identity, ownership, privileges, metadata switching, and destructive cleanup are handled. Add unit and HTTP integration coverage for retained ownership and privileges, failed replacement recovery, concurrent overwrite, and retry behavior; done means the original table and data remain intact when replacement fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100