[
https://issues.apache.org/jira/browse/HBASE-4138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072359#comment-13072359
]
Ted Yu commented on HBASE-4138:
-------------------------------
{code}
+ String errorMsg = "ZooKeeper available but base node mismatch. Check
the value configured in the 'zookeeper.znode.parent'. "
{code}
The first sentence looks redundant with succeeding sentences, making the line
longer than 80 characters. It can be omitted.
For ZooKeeperNodeTracker.java:
{code}
+ abortable
+ .abort(
+ "Unexpected exception handling while checking if basenode
exists.",
+ e);
{code}
can be condensed into one line with message "Exception while checking if
basenode exists"
For ZooKeeperWatcher ctor, the following is redundant:
{code}
+ * @throws ZooKeeperConnectionException
{code}
Remove this comment which you have done in this JIRA:
{code}
// TODO: Move this to an init method somewhere so not everyone calls it?
{code}
Are all tests passing for you ?
Good work.
> 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
>
>
> 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