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

Rakesh R updated ZOOKEEPER-2375:
--------------------------------
    Summary: Prevent multiple initialization of login object inside every 
ZooKeeperSaslClient instance  (was: Prevent multiple initialization of login 
object)

> Prevent multiple initialization of login object inside every 
> ZooKeeperSaslClient instance
> -----------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2375
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2375
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.4.6, 3.4.8, 3.5.0, 3.5.1
>            Reporter: yuemeng
>            Priority: Blocker
>             Fix For: 3.4.9, 3.5.2, 3.6.0
>
>         Attachments: ZOOKEEPER-2375.patch, ZOOKEEPER-2375_01.patch, 
> ZOOKEEPER-2375_02.patch
>
>
> If there are exist many ZooKeeperSaslClient instance in one process,each 
> ZooKeeperSaslClient instance will be call synchronize method( 
> createSaslClient),But each ZooKeeperSaslClient instance will be lock the 
> current object(that is say ,the synchronize only for lock it's own object) 
> ,but many instances can access the static variable login,the synchronize 
> can't prevent other threads access the static login object,it will be cause 
> more than one ZooKeeperSaslClient  instances use the same login object,and 
> login.startThreadIfNeeded() will be called more than one times for same login 
> object。
> it wll cause problem:
>  ERROR | [Executor task launch worker-1-SendThread(fi1:24002)] | Exception 
> while trying to create SASL client: java.lang.IllegalThreadStateException | 
> org.apache.zookeeper.client.ZooKeeperSaslClient.createSaslClient(ZooKeeperSaslClient.java:305)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to