[
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