HBase
  1. HBase
  2. HBASE-5904

is_enabled from shell returns differently from pre- and post- HBASE-5155

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.90.6
    • Fix Version/s: 0.90.7
    • Component/s: Zookeeper
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      This reverts a patch included in 0.90.6 that broke compatibility.

      Description

      If I launch an hbase shell that uses HBase and ZooKeeper without HBASE-5155, against HBase servers with HBASE-5155, then is_enabled for a table always returns false even if the table is considered enabled by the servers from the logs. If I then do the same thing but with an HBase shell and ZooKeeper with HBASE-5155, then is_enabled returns as expected.

      If I launch an HBase shell that uses HBase and ZooKeeper without HBASE-5155, against HBase servers also without HBASE-5155, then is_enabled works as you'd expect. But if I then do the same thing but with an HBase shell and ZooKeeper with HBASE-5155, then is_enabled returns false even though the table is considered enabled by the servers from the logs.

      Additionally, if I then try to enable the table from the HBASE-5155-containing shell, it hangs because the ZooKeeper code waits for the ZNode to be updated with "ENABLED" in the data field, but what actually happens is that the ZNode gets deleted since the servers are running without HBASE-5155.

      I think the culprit is that the indication of how a table is considered enabled inside ZooKeeper has changed with HBASE-5155. Before HBASE-5155, a table was considered enabled if the ZNode for it did not exist. After HBASE-5155, a table is considered enabled if the ZNode for it exists and has "ENABLED" in its data. I think the current code is incompatible when running clients and servers where one side has HBASE-5155 and the other side does not.

      1. HBASE-5904.patch
        27 kB
        David S. Wang

        Activity

        David S. Wang created issue -
        David S. Wang made changes -
        Field Original Value New Value
        Attachment HBASE-5904.patch [ 12525881 ]
        David S. Wang made changes -
        Attachment HBASE-5904.patch [ 12525881 ]
        David S. Wang made changes -
        Attachment HBASE-5904.patch [ 12525885 ]
        David S. Wang made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Assignee David S. Wang [ dsw ]
        stack made changes -
        Fix Version/s 0.90.7 [ 12319481 ]
        Priority Major [ 3 ] Blocker [ 1 ]
        Jonathan Hsieh made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Hadoop Flags Reviewed [ 10343 ]
        Release Note This reverts a patch included in 0.90.6 that broke compatibility.
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            David S. Wang
            Reporter:
            David S. Wang
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development