ruanhui created HBASE-26974: ------------------------------- Summary: Introduce a LogRollProcedure Key: HBASE-26974 URL: https://issues.apache.org/jira/browse/HBASE-26974 Project: HBase Issue Type: Improvement Components: backup&restore, proc-v2 Reporter: ruanhui Assignee: ruanhui Fix For: 3.0.0-alpha-3
The current log-rolling for all regionservers is based in ZK. Here is an attempt to reimplement it with procedure v2. Here are some requirements about the implementation. The procedure can be introduced as a new feature. It should remain fully compatible with previous implementations. Also, this feature can be disabled by the configuration. Currently we only use the logroll procedure when taking a backup job, so I think all code logic should be implemented in the hbase-backup module as much as possible(I'm not sure if this is the right way to do it. If you have any suggestions, please let me know). Here are some details about the implementation. LogRollProcedure The LogRollProcedure is used to roll WAL for all the regionservers in the cluster. It acquires the shared lock of the backup system table. RSLogRollProcedure The RSLogRollProcedure is used to schedule a RSLogRollRemoteProcedure for each regionserver. When the subprocedure returns, the RSLogRollProcedure will check the logrolling result in the backup system table. If failed, The RSLogRollProcedure will schedule a new RSLogRollRemoteProcedure to retry. RSLogRollRemoteProcedure The RSLogRollRemoteProcedure is used to send the log roll request to the remote server. This is only the first version implementation, any suggestions and feedbacks are appreciated. -- This message was sent by Atlassian Jira (v8.20.7#820007)