You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Daniel Lord (Updated) (JIRA)" <ji...@apache.org> on 2011/11/30 00:03:39 UTC

[jira] [Updated] (ZOOKEEPER-1309) Creating a new ZooKeeper client can leak file handles

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Lord updated ZOOKEEPER-1309:
-----------------------------------

    Attachment: zk-1309-1.patch
    
> Creating a new ZooKeeper client can leak file handles
> -----------------------------------------------------
>
>                 Key: ZOOKEEPER-1309
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1309
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.3.4
>            Reporter: Daniel Lord
>            Priority: Critical
>         Attachments: zk-1309-1.patch
>
>
> If there is an IOException thrown by the constructor of ClientCnxn then file handles are leaked because of the initialization of the Selector which is never closed.
>     final Selector selector = Selector.open();
> If there is an abnormal exit from the constructor then the Selector is not closed and file handles are leaked.  You can easily see this by setting the hosts string to garbage ("qwerty", "asdf", etc.) and then try to open a new ZooKeeper connection.  I've observed the same behavior in production when there were DNS issues where the host names of the ensemble can no longer be resolved and the application servers quickly run out of handles attempting to (re)connect to zookeeper.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira