[ 
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

Reply via email to