Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-26974

Introduce a LogRollProcedure

    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              frostruan ruanhui
              frostruan ruanhui
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: