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

(1.4) Add ability for HBase Canary to ignore a configurable number of ZooKeeper down nodes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.0.0, 3.0.0-alpha-1, 2.0.0
    • 1.4.8
    • canary, Zookeeper
    • None
    • Reviewed

    Description

      When running org.apache.hadoop.hbase.tool.Canary with args -zookeeper -treatFailureAsError, the Canary will try to get a znode from each ZooKeeper server in the ensemble. If any server is unavailable or unresponsive, the canary will exit with a failure code.

      If we use the Canary to gauge server health, and alert accordingly, this can be too strict. For example, in a 5-node ZooKeeper cluster, having one node down is safe and expected in rolling upgrades/patches.

      This is a request to allow the Canary to take another parameter

      -permittedZookeeperFailures <N>

      If N=1, in the 5-node ZooKeeper ensemble example, then the Canary will still pass if 4 ZooKeeper nodes are reachable, but fail if 3 or fewer are reachable.

      (This is my first Jira posting... sorry if I messed anything up.)

      Attachments

        1. HBASE-21126.branch-1.001.patch
          11 kB
          Josh Elser
        2. HBASE-21126.master.001.patch
          11 kB
          Josh Elser
        3. HBASE-21126.master.002.patch
          11 kB
          Josh Elser
        4. HBASE-21126.master.003.patch
          11 kB
          Josh Elser
        5. zookeeperCanaryLocalTestValidation.txt
          37 kB
          Josh Elser

        Issue Links

          Activity

            People

              dmanning David Manning
              dmanning David Manning
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 48h
                  48h
                  Remaining:
                  Remaining Estimate - 48h
                  48h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified