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

Enrico Olivelli updated ZOOKEEPER-1480:
---------------------------------------
    Fix Version/s: 3.5.7

> ClientCnxn(1161) can't get the current zk server add, so that - Session 0x 
> for server null, unexpected error
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1480
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1480
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.4.3
>            Reporter: Leader Ni
>            Assignee: Leader Ni
>            Priority: Major
>              Labels: client, getCurrentZooKeeperAddr
>             Fix For: 3.6.0, 3.5.6, 3.5.7
>
>         Attachments: getCurrentZooKeeperAddr_for_3.4.3.patch, 
> getCurrentZooKeeperAddr_for_branch3.4.patch
>
>
>   When zookeeper occur an unexpected error( Not SessionExpiredException, 
> SessionTimeoutException and EndOfStreamException), ClientCnxn(1161) will log 
> such as the formart "Session 0x for server null, unexpected error, closing 
> socket connection and attempting reconnect ". The log at line 1161 in 
> zookeeper-3.3.3
>   We found that, zookeeper use 
> "((SocketChannel)sockKey.channel()).socket().getRemoteSocketAddress()" to get 
> zookeeper addr. But,Sometimes, it logs "Session 0x for server null", you 
> know, if log null, developer can't determine the current zookeeper addr that 
> client is connected or connecting.
>   I add a method in Class SendThread:InetSocketAddress 
> org.apache.zookeeper.ClientCnxn.SendThread.getCurrentZooKeeperAddr().
>   Here:
> /**
> * Returns the address to which the socket is connected.
> * 
> * @return ip address of the remote side of the connection or null if not
> *         connected
> */
> @Override
> SocketAddress getRemoteSocketAddress() {
>    // a lot could go wrong here, so rather than put in a bunch of code
>    // to check for nulls all down the chain let's do it the simple
>    // yet bulletproof way 
> .....



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to