-
Notifications
You must be signed in to change notification settings - Fork 4.1k
storage: range merge issues #2433
Copy link
Copy link
Closed
Labels
A-kv-replicationRelating to Raft, consensus, and coordination.Relating to Raft, consensus, and coordination.C-investigationFurther steps needed to qualify. C-label will change.Further steps needed to qualify. C-label will change.
Milestone
Description
Support for ranges is currently incomplete; this issue tracks the work that must be done to make them safe and usable.
- Merge queue: identify undersized ranges as candidates for merging.
- If necessary, replicate ranges to be merged on to the same set of stores. Ensure that the merge gets aborted cleanly if the rebalance/repair process needs to move one of the replicas before the merge completes.
- Mark the subsumed range as frozen with a special raft command. Ensure that all replicas have processed the freeze command before proceeding with the merge.
- Once a merge transaction has committed, that transaction must not be replayed onto future replicas (i.e. replicas that were not present when the merging process verified that all replicas had processed the freeze command in the subsumed range) via raft log appends. Snapshots must be used instead.
- Ensure that merges respect zone/prefix boundaries.
- Make checks for collocated replicas transactional (AdminMerge: make check for collocated replicas transactional #2431).
- Delete all range-local data stored under
RangeIDKey(remove all metadata related #2426). (storage: MergeRange removes subsumed range's metadata #2604) -
Store.canApplySnapshotneeds to consider the possibility that the snapshot's key span is wider than our present copy's - Set the
destroyedattribute on theReplica
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-kv-replicationRelating to Raft, consensus, and coordination.Relating to Raft, consensus, and coordination.C-investigationFurther steps needed to qualify. C-label will change.Further steps needed to qualify. C-label will change.