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

Camille Fournier commented on ZOOKEEPER-1174:
---------------------------------------------

Sorry, trigger happy about reading your comments. I'm not sure this is true:

Secondly, is it safe to not register sockets that connect immediately? I think, 
but am not sure, that the answer is yes because we have clearly already called 
primeConnection().

The documentation for sock.connect seems to indicate that you could return true 
even in a non-blocking mode:
"If this channel is in non-blocking mode then an invocation of this method 
initiates a non-blocking connection operation. If the connection is established 
immediately, as can happen with a local connection, then this method returns 
true. "



> FD leak when network unreachable
> --------------------------------
>
>                 Key: ZOOKEEPER-1174
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1174
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.3.3
>            Reporter: Ted Dunning
>            Assignee: Ted Dunning
>            Priority: Critical
>             Fix For: 3.3.4
>
>         Attachments: ZOOKEEPER-1174.patch, zk-fd-leak.tgz
>
>
> In the socket connection logic there are several errors that result in bad 
> behavior.  The basic problem is that a socket is registered with a selector 
> unconditionally when there are nuances that should be dealt with.  First, the 
> socket may connect immediately.  Secondly, the connect may throw an 
> exception.  In either of these two cases, I don't think that the socket 
> should be registered.
> I will attach a test case that demonstrates the problem.  I have been unable 
> to create a unit test that exhibits the problem because I would have to mock 
> the low level socket libraries to do so.  It would still be good to do so if 
> somebody can figure out a good way.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to