HBase
  1. HBase
  2. HBASE-3559

Move report of split to master OFF the heartbeat channel

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.92.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      The heartbeat in hbase is about to go away. See hbase-1502. This issue is about moving the report of a split region off the heartbeat channel. This work needs to be done before I can finish up hbase-1502.

      Here is a provisional 'design' for how report of split to master will now work.

      Instead of riding a split message on the regionserver to master heartbeat, the regionserver will put up a znode under (the badly named) 'unassigned' directory; i.e. the regionserver will put the region into 'transition' (RIT). Usually the master does all RIT machinations. Splits will be an exception.

      The regionserver will move the znode through two states: SPLITTING and SPLIT. The master will clean up the SPLIT znode on receipt of child changed callback.

      There will be no extra data in the SPLITTING znode beyond the SPLITTING state name. The SPLIT znode will contain the name of the split daughters.

      Any region in RIT will block the balancer running. This could be an issue if lots of splits going on across a cluster.

      Master will need to handle new SPLIT and SPLITTING states and that another may have already written the RIT (unit tests).

      As before, regionserver figures region to split and runs CompactSplitThread#split. As before, this invokes SplitTransaction with its prepare, execute and when necessary rollback phase. Into the execute we'll add the setting of SPLITTING znode into RIT. The execution will end with setting the SPLIT znode state. Master will read and clear the SPLIT state when done.

      1. 3559.txt
        24 kB
        stack
      2. 3559-v3.txt
        42 kB
        stack

        Issue Links

          Activity

          Jonathan Hsieh made changes -
          Link This issue is depended upon by HBASE-4335 [ HBASE-4335 ]
          Jonathan Hsieh made changes -
          Fix Version/s 0.92.0 [ 12314223 ]
          Hide
          Hudson added a comment -

          Integrated in HBase-TRUNK #1767 (See https://hudson.apache.org/hudson/job/HBase-TRUNK/1767/)

          Show
          Hudson added a comment - Integrated in HBase-TRUNK #1767 (See https://hudson.apache.org/hudson/job/HBase-TRUNK/1767/ )
          stack made changes -
          Link This issue relates to HBASE-1502 [ HBASE-1502 ]
          stack made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Hadoop Flags [Reviewed]
          Assignee stack [ stack ]
          Resolution Fixed [ 1 ]
          Hide
          stack added a comment -

          Committed to TRUNK. Thanks for the reviewing Jon.

          Show
          stack added a comment - Committed to TRUNK. Thanks for the reviewing Jon.
          Hide
          stack added a comment -

          Just to say that Jon has been doing reviews on my patch over on rb. Our back and forth doesn't show here. He just gave me +1 on commit.

          Show
          stack added a comment - Just to say that Jon has been doing reviews on my patch over on rb. Our back and forth doesn't show here. He just gave me +1 on commit.
          Hide
          stack added a comment -

          This is predicate to close of hbase-1502

          Show
          stack added a comment - This is predicate to close of hbase-1502
          stack made changes -
          Link This issue blocks HBASE-1502 [ HBASE-1502 ]
          Hide
          stack added a comment -

          Jon reviewed my patch over on review board. Turned up some good stuff. I just uploaded a patch that addresses his comments, and added more tests. Please review Jon.

          Show
          stack added a comment - Jon reviewed my patch over on review board. Turned up some good stuff. I just uploaded a patch that addresses his comments, and added more tests. Please review Jon.
          stack made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Hide
          stack added a comment -

          I put up a patch on review at https://review.cloudera.org/r/1606/

          Please review. Thanks.

          Show
          stack added a comment - I put up a patch on review at https://review.cloudera.org/r/1606/ Please review. Thanks.
          stack made changes -
          Attachment 3559-v3.txt [ 12471814 ]
          Hide
          stack added a comment -

          Have more tests to add still.

          Show
          stack added a comment - Have more tests to add still.
          stack made changes -
          Field Original Value New Value
          Attachment 3559.txt [ 12471794 ]
          Hide
          stack added a comment -

          Implementation. Tests next.

          Show
          stack added a comment - Implementation. Tests next.
          stack created issue -

            People

            • Assignee:
              stack
              Reporter:
              stack
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development