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

SSH and DisableTableHandler happening together does not clear the znode of the region and RIT map.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.92.1, 0.94.1, 0.95.2
    • 0.94.1, 0.95.0
    • master
    • None
    • Reviewed

    Description

      A possible exception: If the related regionserver was just killed(But HMaster has not perceived that), then we will get a local exception "Connection reset by peer". If this region belongs to a disabling table. what will happen?

      ServerShutdownHandler will remove this region from AM#regions. So this region is still existing in RIT. TimeoutMonitor will take care of it after it got timeout. Then invoke unassign again. Since this region has been removed from AM#regions, it will return directly due to the below code:

          synchronized (this.regions) {
            // Check if this region is currently assigned
            if (!regions.containsKey(region)) {
              LOG.debug("Attempted to unassign region " +
                region.getRegionNameAsString() + " but it is not " +
                "currently assigned anywhere");
              return;
            }
          }
      

      Then it leads to an end-less loop.

      Attachments

        1. HBASE-5927_94_v2.patch
          11 kB
          rajeshbabu
        2. HBASE-5927_trunk_2.patch
          12 kB
          rajeshbabu
        3. HBASE-5927_trunk.patch
          13 kB
          rajeshbabu
        4. HBASE-5927_94.patch
          12 kB
          ramkrishna.s.vasudevan
        5. TestCaseForReProduce.txt
          5 kB
          Jieshan Bean

        Activity

          People

            rajesh23 rajeshbabu
            jeason Jieshan Bean
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: