Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
4.2.0, 4.3.0
-
None
-
None
Description
On suspend and reconnect, Curator calls ZooKeeper.updateServerList via ConnectionState.checkState --> ConnectionState.handleNewConnectionString. In addition, recipes may be triggered by this as well, and they too make calls ZooKeeper.updateServerList via ConnectState.checkTimeouts --> ConnectionState.handleNewConnectionString.
This happens even though the connection string has not actually changed.
Due to ZOOKEEPER-3825, this can cause the connection to be closed immediately. On its own this would be perceived as a glitch. But due to the Curator-induced calls, what we see is a cycle of SUSPENDED/RECONNECTED, until eventually the session dies and a new session is recreated.
Based on the source code (at time of writing), ZooKeeper.updateServerList is not intended to be called frequently like this.
Attachments
Issue Links
- relates to
-
ZOOKEEPER-3825 StaticHostProvider.updateServerList address matching fails when connectString uses IP addresses
- Open
-
CURATOR-551 Curator client always call updateServerList with original serverList value, not the ones updated by EnsembleTracker
- Resolved