You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2012/09/05 02:59:26 UTC
[jira] [Commented] (HBASE-6663) NPE race in HConnection if
zookeeper is reset
[ 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