-
Notifications
You must be signed in to change notification settings - Fork 2.5k
[Remote Store Migration] Relocation of primary shards from doc rep to remote store node #12689
Copy link
Copy link
Closed
Labels
Storage:DurabilityIssues and PRs related to the durability frameworkIssues and PRs related to the durability frameworkenhancementEnhancement or improvement to existing feature or requestEnhancement or improvement to existing feature or request
Description
Is your feature request related to a problem? Please describe
Relocation of primary shards from doc rep to remote store node needs to seed the remote store.
Describe the solution you'd like
Sequence of relocation from doc rep to remote node
- Uses file based recovery to copy all segments from docrep primary - phase1 of the recovery
- Prepares the translog for writes -
- Upload all the segments to remote
- Open Internal Engine and RemoteFSTranslog here. Pretend that primaryMode is true for RemoteFSTranslog , as we want to persist new writes from now on .
- Post this, initiates tracking of the shard - add shard to replication group (shard will receive replication requests from this point on) now that engine is open. This means that any document indexed into the primary after this will be replicated to this replica as well. .
- Remote Segment Store - Will keep uploading segments to remote store
- Remote Translog Store - New documents will create new translog , will get uploaded to remote translog store.
- phase2 - Copies over the data between what file based recovery has and the point from where writes go to replica as well .
- Finalize the recovery - Drains the writes on old node . Does a force segrep , activates primary mode on new node Switches off engine etc .
Related component
Storage:Durability
Describe alternatives you've considered
NA
Additional context
NA
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Storage:DurabilityIssues and PRs related to the durability frameworkIssues and PRs related to the durability frameworkenhancementEnhancement or improvement to existing feature or requestEnhancement or improvement to existing feature or request
Type
Projects
Status
✅ Done