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

Marshall McMullen commented on ZOOKEEPER-1683:
----------------------------------------------

I reviewed these changes as well and they look good to me. A few observations:

1) I definitely like the additional tests. 
2) Is there any documentation in the doxygen regarding selection of the next 
server that needs to be updated? 
3) Have you looked at Shevek's real-world testing failure he saw above?
4) I'm going to look at the related C code now to see if the same problems 
exist over there.



                
> ZooKeeper client NPE when updating server list on disconnected client
> ---------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1683
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1683
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.5.0
>            Reporter: Shevek
>            Assignee: Alexander Shraer
>             Fix For: 3.5.0
>
>         Attachments: ZOOKEEPER-1683.patch, ZOOKEEPER-1683-ver1.patch
>
>
> 2013-04-04 22:16:15,872 ERROR [pool-4-thread-1] 
> com.netflix.curator.ConnectionState.getZooKeeper (ConnectionState.java:84) - 
> Background exception caught
> java.lang.NullPointerException
>         at 
> org.apache.zookeeper.client.StaticHostProvider.updateServerList(StaticHostProvider.java:161)
>  ~[zookeeper-3.5.0.jar:3.5.0--1]
>         at 
> org.apache.zookeeper.ZooKeeper.updateServerList(ZooKeeper.java:183) 
> ~[zookeeper-3.5.0.jar:3.5.0--1]
>         at 
> com.netflix.curator.HandleHolder$1$1.setConnectionString(HandleHolder.java:121)
>  ~[curator-client-1.3.5-SNAPSHOT.jar:?]
> The duff code is this:
> ClientCnxnSocket clientCnxnSocket = cnxn.sendThread.getClientCnxnSocket();
> InetSocketAddress currentHost = (InetSocketAddress) 
> clientCnxnSocket.getRemoteSocketAddress();
> boolean reconfigMode = hostProvider.updateServerList(serverAddresses, 
> currentHost);
> Now, currentHost might be null, if we're not yet connected. But 
> StaticHostProvider.updateServerList indirects on it unconditionally.
> This would be caught by findbugs.

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