[ 
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)

Reply via email to