You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Shevek (JIRA)" <ji...@apache.org> on 2013/04/16 21:13:15 UTC
[jira] [Updated] (ZOOKEEPER-1684) Failure to update socket
addresses on immedate connection
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shevek updated ZOOKEEPER-1684:
------------------------------
Attachment: ZOOKEEPER-1684.diff
My suggestion as a patch. Don't update variables; make things definitively correct.
> Failure to update socket addresses on immedate connection
> ---------------------------------------------------------
>
> Key: ZOOKEEPER-1684
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1684
> Project: ZooKeeper
> Issue Type: Bug
> Reporter: Shevek
> Attachments: ZOOKEEPER-1684.diff
>
>
> I quote:
> void registerAndConnect(SocketChannel sock, InetSocketAddress addr)
> throws IOException {
> sockKey = sock.register(selector, SelectionKey.OP_CONNECT);
> boolean immediateConnect = sock.connect(addr);
> if (immediateConnect)
> { sendThread.primeConnection(); }
> }
> In the immediate case, there are several bugs:
> a) updateSocketAddresses() is never called, as it is when the select-loop in doTransport(). This means that clientCnxnSocket.getRemoteSocketAddress() will return null for the lifetime of this socket?
> b) CONNECT still in the interest set for the socket.
> c) updateLastSendAndHeard() is never called either.
--
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