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

Thomas Koch resolved ZOOKEEPER-895.
-----------------------------------

    Resolution: Fixed

Has been solved as part of ZOOKEEPER-909 by using CopyOnWriteArraySet.

> ClientCnxn.authInfo must be thread safe
> ---------------------------------------
>
>                 Key: ZOOKEEPER-895
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-895
>             Project: Zookeeper
>          Issue Type: Bug
>            Reporter: Thomas Koch
>
> authInfo can be accessed concurrently by different Threads, as exercised in 
> org.apache.zookeeper.test.ACLTest
> The two concurrent access points in this case were (presumably):
> org.apache.zookeeper.ClientCnxn$SendThread.primeConnection(ClientCnxn.java:805)
>  and
> org.apache.zookeeper.ClientCnxn.addAuthInfo(ClientCnxn.java:1121)
> The line numbers refer to the latest patch in ZOOKEEPER-823.
> The exception that pointed to this issue:
>     [junit] 2010-10-13 09:35:55,113 [myid:] - WARN  
> [main-SendThread(localhost:11221):clientcnxn$sendthr...@713] - Session 0x0 
> for server localhost/127.0.0.1:11221, unexpected error, closing socket 
> connection and attempting reconnect
>     [junit] java.util.ConcurrentModificationException
>     [junit]   at 
> java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
>     [junit]   at java.util.AbstractList$Itr.next(AbstractList.java:343)
>     [junit]   at 
> org.apache.zookeeper.ClientCnxn$SendThread.primeConnection(ClientCnxn.java:805)
>     [junit]   at 
> org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:247)
>     [junit]   at 
> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:694)
> Proposed solution: Use a thread save list for authInfo

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to