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

Reply via email to