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)

Reply via email to