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

A region's state is kept in several places in the master opening the possibility for race conditions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.1.0, 0.1.1, 0.2.0
    • 0.19.0
    • master
    • None

    Description

      A region's state exists in multiple maps in the RegionManager: unassignedRegions, pendingRegions, regionsToClose, closingRegions, regionsToDelete, etc.

      One of these race conditions was found in HBASE-534.

      For HBase-0.1.x, we should just patch the holes we find.

      The ultimate solution (which requires a lot of changes in HMaster) should be applied to HBase trunk.

      Proposed solution:

      Create a class that encapsulates a region's state and provide synchronized access to the class that validates state changes.
      There should be a single structure that holds regions in these transitional states and it should be a synchronized collection of some kind.

      Attachments

        1. regionstate.txt
          4 kB
          Jim Kellerman
        2. recent-changes.patch
          38 kB
          Michael Stack
        3. 543.patch-6
          70 kB
          Jim Kellerman
        4. 543.patch-5
          67 kB
          Jim Kellerman
        5. 543.patch-4
          50 kB
          Jim Kellerman
        6. 543.patch
          36 kB
          Michael Stack
        7. 543.patch
          48 kB
          Jim Kellerman
        8. 543.patch
          49 kB
          Jim Kellerman

        Issue Links

          Activity

            People

              jimk Jim Kellerman
              jimk Jim Kellerman
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: