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

Need to fail split if SPLIT znode is deleted even before the split is completed.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.94.3, 0.95.0
    • None
    • None
    • Reviewed

    Description

      This came up after the following mail in dev list
      'infinite loop of RS_ZK_REGION_SPLIT on .94.2'.
      The following is the reason for the problem
      The following steps happen
      -> Initially the parent region P1 starts splitting.
      -> The split is going on normally.
      -> Another split starts at the same time for the same region P1. (Not sure why this started).
      -> Rollback happens seeing an already existing node.
      -> This node gets deleted in rollback and nodeDeleted Event starts.
      -> In nodeDeleted event the RIT for the region P1 gets deleted.
      -> Because of this there is no region in RIT.
      -> Now the first split gets over. Here the problem is we try to transit the node to SPLITTING to SPLIT. But the node even does not exist.
      But we don take any action on this. We think it is successful.
      -> Because of this SplitRegionHandler never gets invoked.

      Attachments

        1. HBASE-7103_trunk.patch
          14 kB
          ramkrishna.s.vasudevan
        2. HBASE-7103_testcase.patch
          7 kB
          ramkrishna.s.vasudevan
        3. HBASE-7103_0.94.patch
          11 kB
          ramkrishna.s.vasudevan
        4. HBASE-7103_0.94.patch
          12 kB
          ramkrishna.s.vasudevan
        5. 7103-6088-revert.txt
          7 kB
          Lars Hofhansl

        Issue Links

          Activity

            People

              ram_krish ramkrishna.s.vasudevan
              ram_krish ramkrishna.s.vasudevan
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: