You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Matthias Spycher (JIRA)" <ji...@apache.org> on 2011/09/23 03:17:26 UTC

[jira] [Commented] (ZOOKEEPER-1091) when the chrootPath of ClientCnxn is not null and the Watches of zooKeeper is not null and the method primeConnection(SelectionKey k) of ClientCnxn Occurred again for some reason ,then the wrong watcher clientPath is sended to server

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

Matthias Spycher commented on ZOOKEEPER-1091:
---------------------------------------------

Thomas is right. One of the unit tests in the patch to ZOOKEEPER-961 verifies that the StringIndexOutOfBounds no longer occurs. Also, if any path from the server is too short for the current chroot, we no longer throw the exception. Instead a warning is issued and the raw path passed in the event.

> when the chrootPath of ClientCnxn is not null and the Watches of zooKeeper is not null and the method primeConnection(SelectionKey k) of ClientCnxn Occurred again for some reason ,then the wrong watcher clientPath is sended to server
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1091
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1091
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.3.3
>         Environment: Linux version 2.6.18-194.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:14 EDT 2010
>            Reporter: zhangyouming
>            Priority: Critical
>             Fix For: 3.3.3
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> if the chrootPath of ClientCnxn is not null and the Watches of zooKeeper is not null; and then for some reason(like zookeeper server stop and start), the zookeeper client will primeConnection to server again and tell server the watcher path,but the path is wrong,it show be serverpath but not clientpath;if the wrong watcher clientPath is sended to server,
> the exception will occurr, the exceptions:
> 2011-06-10 04:33:16,935 [pool-2-thread-30-SendThread(DB1-6:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x5302c4403a30232 for server DB1-6/192.168.1.6:2181, unexpected error, closing socket connection and attempting reconnect
> java.lang.StringIndexOutOfBoundsException: String index out of range: -6
> 	at java.lang.String.substring(String.java:1937)
> 	at java.lang.String.substring(String.java:1904)
> 	at org.apache.zookeeper.ClientCnxn$SendThread.readResponse(ClientCnxn.java:794)
> 	at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:881)
> 	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1130)
>  

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