[ 
https://issues.apache.org/jira/browse/HBASE-4138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13090251#comment-13090251
 ] 

ramkrishna.s.vasudevan commented on HBASE-4138:
-----------------------------------------------

@Ted
One more thing we can add.
In ZKUtil.watchAndCheckExists() we can make a small change
{code}
if(null != s){
      LOG.debug(zkw.prefix("Set watcher on existing znode " + znode));
      }
      else{
        LOG.debug(zkw.prefix("znode " + znode+" does not exist.  No data 
retrieved from it."));
      }
{code}
Instead of 
{code}
      LOG.debug(zkw.prefix("Set watcher on existing znode " + znode));
      return s != null ? true : false;
{code}
This will let us know in future in case of same failure if really the node 
existed or not. 

> If zookeeper.znode.parent is not specifed explicitly in Client code then 
> HTable object loops continuously waiting for the root region by using /hbase 
> as the base node.
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4138
>                 URL: https://issues.apache.org/jira/browse/HBASE-4138
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.90.3
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.0
>
>         Attachments: HBASE-4138_trunk_1.patch, HBASE-4138_trunk_2.patch, 
> HBASE-4138_trunk_3.patch
>
>
> Change the zookeeper.znode.parent property (default is /hbase).
> Now do not specify this change in the client code.
> Use the HTable Object.
> The HTable is not able to find the root region and keeps continuously looping.
> Find the stack trace:
> ====================
> Object.wait(long) line: not available [native method]          
> RootRegionTracker(ZooKeeperNodeTracker).blockUntilAvailable(long) line: 122
> RootRegionTracker.waitRootRegionLocation(long) line: 73                
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[], boolean) line: 578
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[]) line: 558
> HConnectionManager$HConnectionImplementation.locateRegionInMeta(byte[],
> byte[], byte[], boolean, Object) line: 687
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[], boolean) line: 589
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[]) line: 558
> HConnectionManager$HConnectionImplementation.locateRegionInMeta(byte[],
> byte[], byte[], boolean, Object) line: 687
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[], boolean) line: 593
> HConnectionManager$HConnectionImplementation.locateRegion(byte[],
> byte[]) line: 558
> HTable.<init>(Configuration, byte[]) line: 171                 
> HTable.<init>(Configuration, String) line: 145                 
> HBaseTest.test() line: 45

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to