[
https://issues.apache.org/jira/browse/HBASE-6710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13446605#comment-13446605
]
Lars Hofhansl commented on HBASE-6710:
--------------------------------------
So to be specific:
# With HBASE-6268 in place a client (0.92.2+, 0.94.2+) can deal with both
server formats.
# With this with jira we'll write the old format in addition to the new format.
The old format is written to the current znode. The new format goes into a new
znode.
# The new servers and new client will use this new znode by default.
# Old 0.92 clients (0.92.0, 0.92.1) will use the old format in the current znode
# Old 0.94 clients (0.94.0, 0.94.1) need a config change to be pointed to the
new znode (because that is the format they understand).
I do not think we need to make the server side change in 0.92.2. Folks who want
a mixed environment should upgrade to 0.94.2. Also if somebody wants to upgrade
0.92 to 0.94, 0.94.2 would be the path of choice (once available).
> 0.92/0.94 compatibility issues due to HBASE-5206
> ------------------------------------------------
>
> Key: HBASE-6710
> URL: https://issues.apache.org/jira/browse/HBASE-6710
> Project: HBase
> Issue Type: Bug
> Reporter: Gregory Chanan
> Assignee: Gregory Chanan
> Priority: Critical
> Fix For: 0.94.2
>
>
> HBASE-5206 introduces some compatibility issues between {0.94,0.94.1} and
> {0.92.0,0.92.1}. The release notes of HBASE-5155 describes the issue
> (HBASE-5206 is a backport of HBASE-5155).
> I think we can make 0.94.2 compatible with both {0.94.0,0.94.1} and
> {0.92.0,0.92.1}, although one of those sets will require configuration
> changes.
> The basic problem is that there is a znode for each table
> "zookeeper.znode.tableEnableDisable" that is handled differently.
> On 0.92.0 and 0.92.1 the states for this table are:
> [ disabled, disabling, enabling ] or deleted if the table is enabled
> On 0.94.1 and 0.94.2 the states for this table are:
> [ disabled, disabling, enabling, enabled ]
> What saves us is that the location of this znode is configurable. So the
> basic idea is to have the 0.94.2 master write two different znodes,
> "zookeeper.znode.tableEnableDisabled92" and
> "zookeeper.znode.tableEnableDisabled94" where the 92 node is in 92 format,
> the 94 node is in 94 format. And internally, the master would only use the
> 94 format in order to solve the original bug HBASE-5155 solves.
> We can of course make one of these the same default as exists now, so we
> don't need to make config changes for one of 0.92 or 0.94 clients. I argue
> that 0.92 clients shouldn't have to make config changes for the same reason I
> argued above. But that is debatable.
> Then, I think the only question left is the question of how to bring along
> the {0.94.0, 0.94.1} crew. A {0.94.0, 0.94.1} client would work against a
> 0.94.2 cluster by just configuring "zookeeper.znode.tableEnableDisable" in
> the client to be whatever "zookeeper.znode.tableEnableDisabled94" is in the
> cluster. A 0.94.2 client would work against both a {0.94.0, 0.94.1} and
> {0.92.0, 0.92.1} cluster if it had HBASE-6268 applied. About rolling upgrade
> from {0.94.0, 0.94.1} to 0.94.2 -- I'd have to think about that. Do the
> regionservers ever read the tableEnableDisabled znode?
> On the mailing list, Lars H suggested the following:
> "The only input I'd have is that format we'll use going forward will not have
> a version attached to it.
> So maybe the 92 version would still be called
> "zookeeper.znode.tableEnableDisable" and the new node could have a different
> name "zookeeper.znode.tableEnableDisableNew" (or something)."
--
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