ninsmiracle opened a new pull request, #1961:
URL: https://github.com/apache/incubator-pegasus/pull/1961

   ### What problem does this PR solve? <!--add issue link with summary if 
exists-->
   #1665 
   
   And cause the misstake operate of PR #1666, I closed it and forced pull it.  
   So I have to re pull  in another  pull request. 
   
   
   ### What is changed and how does it work?
   I add another string in `meta_store` (meta_store is a column families which 
persist pegasus_last_manual_compact_finish_time and so on).
   So that we can read the value from meta_store when we recover a replica 
after replica migrate.
   
   ### Checklist <!--REMOVE the items that are not applicable-->
   
   ##### Tests <!-- At least one of them must be included. -->
   - Manual test 
   1.Create table,and put some data in it.
   2.Let table begin to do manual compaction
   3.Finish manual compaction and view the replica relationship of this table.
   4.Stop a node,and check the progress of compaction.
   5.Wait a few minutes,and check if still have some replica can not show a 
Finish status.
   
   Test Result
   ```
   Pegasus-AdminCli-1.2.0 » manual-compaction query -a gns
   Table gns manual compaction progress is 100
   Pegasus-AdminCli-1.2.0 » manual-compaction query -a gns
   Table gns manual compaction progress is 83
   Pegasus-AdminCli-1.2.0 » manual-compaction query -a gns
   Table gns manual compaction progress is 83
   Pegasus-AdminCli-1.2.0 » manual-compaction query -a gns
   Table gns manual compaction progress is 100
   ```
   
   
   ##### Code changes
   
   - try to read `LAST_MANUAL_COMPACT_USED_TIME` from meta_store when DB exist.
   - Set `LAST_MANUAL_COMPACT_USED_TIME` to zero when DB not exist.
   - Set `LAST_MANUAL_COMPACT_USED_TIME` to the time replica last used.
   - Generate a new checkpoint after we change LAST_MANUAL_COMPACT_USED_TIME in 
func  `do_manual_compact`
   


-- 
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-unsubscr...@pegasus.apache.org

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


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

Reply via email to