[
https://issues.apache.org/jira/browse/HBASE-6663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13448323#comment-13448323
]
Hudson commented on HBASE-6663:
-------------------------------
Integrated in HBase-0.94-security-on-Hadoop-23 #7 (See
[https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/7/])
HBASE-6663 NPE race in HConnection if zookeeper is reset (Gregory Chanan)
(Revision 1377215)
Result = FAILURE
larsh :
Files :
*
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
*
/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHConnection.java
> NPE race in HConnection if zookeeper is reset
> ---------------------------------------------
>
> Key: HBASE-6663
> URL: https://issues.apache.org/jira/browse/HBASE-6663
> Project: HBase
> Issue Type: Bug
> Components: client
> Affects Versions: 0.94.1
> Reporter: Gregory Chanan
> Assignee: Gregory Chanan
> Priority: Minor
> Fix For: 0.94.2
>
> Attachments: HBASE-6663.patch
>
>
> On 0.94, HConnectionImplementation has code like this:
> {code}
> getZooKeeperWatcher();
> String tableNameStr = Bytes.toString(tableName);
> try {
> if (online) {
> return ZKTable.isEnabledTable(this.zooKeeper, tableNameStr);
> }
> return ZKTable.isDisabledTable(this.zooKeeper, tableNameStr);
> {code}
> The issue is that between the time that getZooKeeperWatcher is called and
> this.zooKeeper is used, this.zooKeeper can be set to null by another thread
> via resetZooKeeperTrackers.
> The cleanest solution to me seems to be to cache the value. I have a patch
> that does this and a test that fails without the patch and passes with it.
> This issue doesn't appear on 0.96 because the zookeeper code has been
> separated in HBASE-5399.
--
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