[ 
https://issues.apache.org/jira/browse/HBASE-9157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeffrey Zhong updated HBASE-9157:
---------------------------------
       Resolution: Fixed
    Fix Version/s: 0.99.2
                   0.98.8
     Hadoop Flags: Reviewed
           Status: Resolved  (was: Patch Available)

Thanks for the reviews! I've integrated the fix into 0.99 and 0.98 branch with 
a small modification(only breaking out loop for SessionExpiredException & 
AuthFailedException)

> 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