Jared Winick created ZOOKEEPER-1816: ---------------------------------------
Summary: ClientCnxn.close() should block until threads have died Key: ZOOKEEPER-1816 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1816 Project: ZooKeeper Issue Type: Bug Components: java client Affects Versions: 3.4.5, 3.3.6 Reporter: Jared Winick Priority: Minor In the testing of ACCUMULO-1379 and ACCUMULO-1858 it was seen that the non-blocking behavior of ClientCnxn.close(), and therefore ZooKeeper.close(), can cause a race condition when undeploying an application running in a Java container such as JBoss or Tomcat. As the close() method returns without joining on the sendThread and eventThread, those threads continue to execute/cleanup while the container is cleaning up the application's resources. If the container has unloaded classes by the time this code runs {code} ZooTrace.logTraceMessage(LOG, ZooTrace.getTextTraceLevel(), "SendThread exitedloop."); {code} A "java.lang.NoClassDefFoundError: org/apache/zookeeper/server/ZooTrace" can be seen. -- This message was sent by Atlassian JIRA (v6.1#6144)