Sergey Doroshenko commented on ZOOKEEPER-795:

Has anybody had a chance to look at the patch?

> eventThread isn't shutdown after a connection "session expired" event coming
> ----------------------------------------------------------------------------
>                 Key: ZOOKEEPER-795
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-795
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.3.1
>         Environment: ubuntu 10.04
>            Reporter: mathieu barcikowski
>            Priority: Blocker
>             Fix For: 3.3.2, 3.4.0
>         Attachments: ExpiredSessionThreadLeak.java, ZOOKEEPER-795.patch
> 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

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to