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