[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557331#comment-13557331
 ] 

Alexander Shraer commented on ZOOKEEPER-1620:
---------------------------------------------

Thawan, I suggest that you change the last assertion to "(endFdCount - 
startFdCount) < 2)"
and in NIOServerCnxnFactory.stop() add thread.closeSelector() right before or 
right after thread.wakeupSelector()

                
> NIOServerCnxnFactory (new code introduced in ZK-1504) opens selectors but 
> never closes them
> -------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1620
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1620
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.5.0
>            Reporter: Alexander Shraer
>            Assignee: Thawan Kooburat
>             Fix For: 3.5.0
>
>         Attachments: ZOOKEEPER-1620.patch, ZOOKEEPER-1620.patch
>
>
> New code (committed in ZK-1504) opens selectors but doesn't close them.
> Specifically AbstractSelectThread in its constructor does 
> this.selector = Selector.open();
> But possibly also elsewhere. Tests fail for me with the following message:
> java.io.IOException: Too many open files
>       at sun.nio.ch.EPollArrayWrapper.epollCreate(Native Method)
>       at sun.nio.ch.EPollArrayWrapper.<init>(EPollArrayWrapper.java:69)
>       at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:52)
>       at 
> sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:18)
>       at java.nio.channels.Selector.open(Selector.java:209)
>       at 
> org.apache.zookeeper.server.NIOServerCnxnFactory$AbstractSelectThread.<init>(NIOServerCnxnFactory.java:128)
>       at 
> org.apache.zookeeper.server.NIOServerCnxnFactory$AcceptThread.<init>(NIOServerCnxnFactory.java:177)
>       at 
> org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:663)
>       at 
> org.apache.zookeeper.server.ServerCnxnFactory.createFactory(ServerCnxnFactory.java:127)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeer.<init>(QuorumPeer.java:709)
>       at 
> org.apache.zookeeper.test.QuorumBase.startServers(QuorumBase.java:177)
>       at org.apache.zookeeper.test.QuorumBase.setUp(QuorumBase.java:113)
>       at org.apache.zookeeper.test.QuorumBase.setUp(QuorumBase.java:71)
>       at org.apache.zookeeper.test.ReconfigTest.setUp(ReconfigTest.java:56)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to