You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pegasus.apache.org by GitBox <gi...@apache.org> on 2022/01/24 10:08:22 UTC

[GitHub] [incubator-pegasus] Shuo-Jia edited a comment on issue #892: Feature: Enhance the ease of use and efficiency of duplication

Shuo-Jia edited a comment on issue #892:
URL: https://github.com/apache/incubator-pegasus/issues/892#issuecomment-1019923010


   ### The flow chart is as follow: 
   ![选区_999(791)](https://user-images.githubusercontent.com/23136769/150759571-0323797c-5110-4432-ba51-8a5bdba37b70.png)
   
   #### NOTE: The implementation refactor previous `DS_START` to three stage: `DS_PREPARE`, `DS_APP`, `DS_LOG`, and will be explained in follow descreption
   
   1. master meta: receive create dup table request and mark current `max_plog_commit_decree` as start plog point
   2. master meta: init the dup status as `DS_PREPARE`,  which means master replica need prepare latest_checkpoint  for duplicating
   3. master replica: generate latest checkpoint , which require `laster_durable_decee >= max_plog_commit_decree`
   4. master replica: update all checkpoint has been prepared and response master meta
   5. master meta: change to `DS_APP`, which means all checkpoints have prepared and follower can duplicate it
   6. master meta: send create table request to follower meta, and require the table init with `master replica checkpoint`(like restore progress which init table with `backup replica checkpoint`)
   7. follower meta: create dup table with dup info
   8. follower replica: start open or init replica 
   9. follower replica: duplicate checkpoint from master replica before init replica, and load replica using duplicated data
   10. master meta: check the follower table if create completed periodically
   11. master meta: if completed, change to `DS_LOG`, which means master replica can send plog data to follower table
   12. master replica: start pipeline to batch send plog data.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org
For additional commands, e-mail: dev-help@pegasus.apache.org