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

Race condition when disabling a table leaves regions in transition

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.20.3
    • 0.20.4, 0.90.0
    • None
    • None
    • Reviewed

    Description

      A lot of people reported that weren't able to add/delete a column because only some of the regions got the modification. I personally thought it was due to the CME bug in the Master, but I'm able to easily reproduce on 0.20.4 on a 1800 regions table.

      Since 0.20.3, we now call disableTable after every retry to make sure we don't miss any region. This creates a race where while we scan .META. in TableOperation, a region could be reported as closed after we scanned the row. We end up processing it like if it was assigned and we put it back into regionsInTransition. We need to either query .META. before processing each region or make some more check to see if the region was closed.

      This kills the RC in my book.

      In the mean time, anyone getting this can restart their HBase and it will pick up the change.

      Attachments

        1. HBASE-2499.patch
          3 kB
          Jean-Daniel Cryans
        2. HBASE-2499-v2.patch
          3 kB
          Jean-Daniel Cryans

        Activity

          People

            jdcryans Jean-Daniel Cryans
            jdcryans Jean-Daniel Cryans
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: