[
https://issues.apache.org/jira/browse/HBASE-9157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174150#comment-14174150
]
Jeffrey Zhong commented on HBASE-9157:
--------------------------------------
0.94 doesn't have this issue.
> ZKUtil.blockUntilAvailable loops forever with non-recoverable errors
> --------------------------------------------------------------------
>
> Key: HBASE-9157
> URL: https://issues.apache.org/jira/browse/HBASE-9157
> Project: HBase
> Issue Type: Bug
> Components: Zookeeper
> Reporter: Jeffrey Zhong
> Assignee: Jeffrey Zhong
> Priority: Minor
> Fix For: 0.98.8, 0.99.2
>
> Attachments: hbase-9157-v2.patch, hbase-9157.patch
>
>
> In one of integration test, I observed that a thread keeps spinning error
> logs "Unexpected exception handling blockUntilAvailable" due to
> KeeperException.ConnectionLossException. Below is the related code:
> {code}
> while (!finished) {
> try {
> data = ZKUtil.getData(zkw, znode);
> } catch(KeeperException e) {
> LOG.warn("Unexpected exception handling blockUntilAvailable", e);
> }
> if (data == null && (System.currentTimeMillis() +
> HConstants.SOCKET_RETRY_WAIT_MS < endTime)) {
> Thread.sleep(HConstants.SOCKET_RETRY_WAIT_MS);
> } else {
> finished = true;
> }
> }
> {code}
> ConnectionLossException might be recoverable but SessionExpiredException and
> AuthFailed are not recoverable errors, the while loop can't break.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)