You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2014/10/16 05:40:35 UTC
[jira] [Comment Edited] (HBASE-9157) ZKUtil.blockUntilAvailable
loops forever with non-recoverable errors
[ https://issues.apache.org/jira/browse/HBASE-9157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173306#comment-14173306 ]
Lars Hofhansl edited comment on HBASE-9157 at 10/16/14 3:40 AM:
----------------------------------------------------------------
Is that an issue in 0.94 as well (can't check easily right this moment)?
was (Author: lhofhansl):
Is that an issue in 0.94 as well (can't check easily right this moment).
> 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)