You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Rhys Yarranton (Jira)" <ji...@apache.org> on 2020/05/12 00:38:00 UTC
[jira] [Created] (CURATOR-570) Excessive calls to
ZooKeeper.updateServerList (which can result in session death)
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)