You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "ruanhui (Jira)" <ji...@apache.org> on 2022/04/25 05:22:00 UTC

[jira] [Created] (HBASE-26974) Introduce a LogRollProcedure

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&amp;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)