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

Splits failed before creating daughter regions leave meta inconsistent

    Details

    • Hadoop Flags:
      Reviewed

      Description

      This is on branch-1 based code only.

      Here's the sequence of events.

      1. A regionserver opens a new region. That regions looks like it should split.
      2. So the regionserver starts a split transaction.
      3. Split transaction starts execute
      4. Split transaction encounters an error in stepsBeforePONR
      5. Split transaction starts rollback
      6. Split transaction notifies master that it's rolling back using HMasterRpcServices#reportRegionStateTransition
      7. AssignmentManager#onRegionTransition is called with SPLIT_REVERTED
      8. AssignmentManager#onRegionSplitReverted is called.
      9. That onlines the parent region and offlines the daughter regions.

      However the daughter regions were never created in meta so all that gets done is that state for those rows gets OFFLINE. Now all clients trying to get the parent instead get the offline daughter.

        Attachments

        1. HBASE-16093.branch-1.patch
          2 kB
          Elliott Clark
        2. HBASE-16093-0.98.patch
          2 kB
          Andrew Purtell

          Activity

            People

            • Assignee:
              eclark Elliott Clark
              Reporter:
              eclark Elliott Clark
            • Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: