Rhys Yarranton created CURATOR-570:
--------------------------------------
Summary: Excessive calls to ZooKeeper.updateServerList (which can
result in session death)
Key: CURATOR-570
URL: https://issues.apache.org/jira/browse/CURATOR-570
Project: Apache Curator
Issue Type: Bug
Components: Framework
Affects Versions: 4.3.0, 4.2.0
Reporter: Rhys Yarranton
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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)