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

Master can fail if ZooKeeper session expires

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.95.2
    • 0.94.2
    • master, Zookeeper
    • None
    • all

    • Reviewed

    Description

      There is a retry mechanism in RecoverableZooKeeper, but when the session expires, the whole ZooKeeperWatcher is recreated, hence the retry mechanism does not work in this case. This is why a sleep is needed in TestZooKeeper#testMasterSessionExpired: we need to wait for ZooKeeperWatcher to be recreated before using the connection.

      This can happen in real life, it can happen when:

      • master & zookeeper starts
      • zookeeper connection is cut
      • master enters the retry loop
      • in the meantime the session expires
      • the network comes back, the session is recreated
      • the retries continues, but on the wrong object, hence fails.

      Attachments

        1. 5549_092.txt
          34 kB
          Michael Stack
        2. 5549_094.txt
          28 kB
          Michael Stack
        3. 5549.v10.patch
          34 kB
          Nicolas Liochon
        4. 5549.v11.patch
          35 kB
          Nicolas Liochon
        5. 5549.v6.patch
          32 kB
          Nicolas Liochon
        6. 5549.v7.patch
          35 kB
          Nicolas Liochon
        7. 5549.v8.patch
          35 kB
          Nicolas Liochon
        8. 5549.v9.patch
          34 kB
          Nicolas Liochon
        9. nochange.patch
          0.3 kB
          Nicolas Liochon

        Issue Links

          Activity

            People

              nkeywal Nicolas Liochon
              nkeywal Nicolas Liochon
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: