You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Benjamin Jaton (JIRA)" <ji...@apache.org> on 2014/07/23 19:25:40 UTC
[jira] [Updated] (CURATOR-125) ConnectionStateListener is confused
by READ_ONLY state
[ https://issues.apache.org/jira/browse/CURATOR-125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Jaton updated CURATOR-125:
-----------------------------------
Attachment: Test.java
> ConnectionStateListener is confused by READ_ONLY state
> ------------------------------------------------------
>
> Key: CURATOR-125
> URL: https://issues.apache.org/jira/browse/CURATOR-125
> Project: Apache Curator
> Issue Type: Bug
> Components: Client
> Affects Versions: 2.6.0
> Environment: Ubuntu 12.04
> 3 ZK with readonlymode.enabled
> Reporter: Benjamin Jaton
> Attachments: Test.java
>
>
> To reproduce:
> - have a 3 nodes ZK ensemble with readonlymode.enabled
> - shut down 2 of the 3 ZK servers ( we start in read only mode)
> Then create a piece of code (see Test.java attached):
> - a curator client (keep the timeout reasonably short)
> - a NodeCache listener on '/'
> - a separate ZooKeeper client
> -> the connection goes into READ_ONLY/ConnectedReadOnly as expected
> - start another ZooKeeper
> -> the connection goes into SUSPENDED/Disconnected, then CONNECTED/SyncConnected, fine.
> - stop one of the 2 ZooKeeper alive
> -> the connection goes:
> ZOOKEEPER STATE: Disconnected
> CURATOR STATE: SUSPENDED
> ZOOKEEPER STATE: ConnectedReadOnly
> CURATOR STATE: READ_ONLY
> CURATOR STATE: SUSPENDED
> CURATOR STATE: READ_ONLY
> CURATOR STATE: SUSPENDED
> CURATOR STATE: READ_ONLY
> So it's flaky. Sometimes it doesn't switch back and forth, sometimes twice only, sometimes a lot more.
> Depending on the timeout on the client, it might take more time to appear.
> I attached a sample code that would reproduce it in 20-30 seconds.
> Note that the problem may ultimately be on the ZooKeeper side but at that point I just don't know.
--
This message was sent by Atlassian JIRA
(v6.2#6252)