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

We should expire the zk session for crashed servers rather than deleting ephemeral znodes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 0.95.2
    • None
    • master, regionserver, Zookeeper
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              enis Enis Soztutar
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: