You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2012/12/12 03:53:21 UTC

[jira] [Created] (HBASE-7334) We should expire the zk session for crashed servers rather than deleting ephemeral znodes

Enis Soztutar created HBASE-7334:
------------------------------------

             Summary: We should expire the zk session for crashed servers rather than deleting ephemeral znodes
                 Key: HBASE-7334
                 URL: https://issues.apache.org/jira/browse/HBASE-7334
             Project: HBase
          Issue Type: Improvement
          Components: master, regionserver, Zookeeper
    Affects Versions: 0.96.0
            Reporter: Enis Soztutar


For faster recovery HBASE-5844 and HBASE-5926 added logic to delete the ephemeral znodes for the master and region server from the hbase-daemon.sh script. However, the master and RSs have other ephemeral nodes that are not cleaned (for example region splitting, table lock)

Instead of deleting the main znode, we can just invalidate the zookeeper session by doing smt like HBaseTestingUtility.expireSession(). 

For this we need to keep the zk.getSessionId() and zk.getSessionPasswd() around(write to a local file), keep the file updated for reconnections, and once we know that the zk session is gone in ZNodeClearer, we can just create a new session with the same credentials, and close that one, effectively causing zk to delete all ephemeral nodes for the session. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira