lock head during DDL operations
- Dominant language
- Go
- Stars
- 24.4k
- Forks
- 873
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 120
Description
Some DDL operations require rewriting the entire table, which is very expensive and long running. It's possible that during this process other writers could modify the table being rewritten, which could lead to incorrect results in some cases or make the DDL operation fail in others. It's almost never intentional to continue modifying data on a particular head concurrent with a long-running DDL change.
Dolt needs to lock a particular branch head from other writers during long running DDL operations, like other databases do, to prevent this scenario.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the long-running DDL operations and the writer paths for a branch head. Determine how a head can be locked during table-rewriting DDL and how competing writers are handled. Done means concurrent writers cannot modify the affected head while the DDL operation is in progress, preventing incorrect results or failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, sql
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100