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

RegionServer not shutting down upon KeeperException in open region

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.98.0, 0.95.2, 0.94.12
    • None
    • None
    • Reviewed

    Description

      We ran into a situation where due to a Kerberos configuration problem one of our region server could not connect to ZK when opening a region. Instead of shutting down it continue to try to reconnect. Eventually the master would assign the region to another region server. Each time that region server was assigned a region it would sit there for 5 mins with the region offline. It would have been better if the region server had shut itself down.

      This is in the logs:

      2013-08-16 17:31:35,999 WARN org.apache.hadoop.hbase.zookeeper.ZKUtil: hconnection-0x2407b842ff2012d-0x2407b842ff2012d-0x2407b842ff2012d Unable to set watcher on znode (/hbase/hbaseid)
      org.apache.zookeeper.KeeperException$AuthFailedException: KeeperErrorCode = AuthFailed for /hbase/hbaseid
      at org.apache.zookeeper.KeeperException.create(KeeperException.java:123)
      at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
      at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
      at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172)
      at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450)
      at org.apache.hadoop.hbase.zookeeper.ClusterId.readClusterIdZNode(ClusterId.java:61)
      at org.apache.hadoop.hbase.zookeeper.ClusterId.getId(ClusterId.java:50)
      at org.apache.hadoop.hbase.zookeeper.ClusterId.hasId(ClusterId.java:44)
      at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:616)
      at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:882)
      at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:857)
      at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:233)
      at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:173)
      at org.apache.hadoop.hbase.catalog.MetaReader.getHTable(MetaReader.java:201)
      at org.apache.hadoop.hbase.catalog.MetaReader.getMetaHTable(MetaReader.java:227)
      at org.apache.hadoop.hbase.catalog.MetaReader.getCatalogHTable(MetaReader.java:214)
      at org.apache.hadoop.hbase.catalog.MetaEditor.putToCatalogTable(MetaEditor.java:91)
      at org.apache.hadoop.hbase.catalog.MetaEditor.updateLocation(MetaEditor.java:296)
      at org.apache.hadoop.hbase.catalog.MetaEditor.updateRegionLocation(MetaEditor.java:276)
      at org.apache.hadoop.hbase.regionserver.HRegionServer.postOpenDeployTasks(HRegionServer.java:1828)
      at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler$PostOpenDeployTasksThread.run(OpenRegionHandler.java:240)

      I think the RS should shut itself down instead.

      Attachments

        1. 9344-trunk.txt
          0.8 kB
          Lars Hofhansl

        Activity

          People

            larsh Lars Hofhansl
            larsh Lars Hofhansl
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: