Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-795

eventThread isn't shutdown after a connection "session expired" event coming

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.3.1
    • Fix Version/s: 3.3.2, 3.4.0
    • Component/s: java client
    • Labels:
      None
    • Environment:

      ubuntu 10.04

      Description

      Hi,

      I notice a problem with the eventThread located in ClientCnxn.java file.
      The eventThread isn't shutdown after a connection "session expired" event coming (i.e. never receive EventOfDeath).

      When a session timeout occurs and the session is marked as expired, the connexion is fully closed (socket, SendThread...) expect for the eventThread.
      As a result, if i create a new zookeeper object and connect through it, I got a zombi thread which will never be kill (as for the previous zookeeper object, the state is already close, calling close again don't do anything).

      So everytime I will create a new zookeeper connection after a expired session, I will have a one more zombi EventThread.

      How to reproduce :

      • Start a zookeeper client connection in debug mode
      • Pause the jvm enough time to the expired event occur
      • Watch for example with jvisualvm the list of threads, the sendThread is succesfully killed, but the EventThread go to wait state for a infinity of time
      • if you reopen a new zookeeper connection, and do again the previous steps, another EventThread will be present in infinite wait state

        Attachments

        1. ZOOKEEPER-795.patch
          2 kB
          Sergey Doroshenko
        2. ZOOKEEPER-795.patch
          4 kB
          Benjamin Reed
        3. ExpiredSessionThreadLeak.java
          8 kB
          Daniel Lord

          Issue Links

            Activity

              People

              • Assignee:
                dorserg Sergey Doroshenko
                Reporter:
                mbarcikowski mathieu barcikowski
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: