You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jeffrey Zhong (JIRA)" <ji...@apache.org> on 2013/08/08 02:28:47 UTC

[jira] [Created] (HBASE-9157) ZKUtil.blockUntilAvailable loops forever with KeeperException.ConnectionLossException

Jeffrey Zhong created HBASE-9157:
------------------------------------

             Summary: ZKUtil.blockUntilAvailable loops forever with KeeperException.ConnectionLossException
                 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


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}

Since ConnectionLossException & SessionExpiredException are not recoverable errors, the while loop can't break.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira