zookeeper-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enrico Olivelli (Jira)" <j...@apache.org>
Subject [jira] [Updated] (ZOOKEEPER-1480) ClientCnxn(1161) can't get the current zk server add, so that - Session 0x for server null, unexpected error
Date Fri, 06 Sep 2019 15:44:02 GMT

     [ 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)

Mime
View raw message