[ https://issues.apache.org/jira/browse/CURATOR-570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17129402#comment-17129402 ]
Rhys Yarranton commented on CURATOR-570: ---------------------------------------- Getting confused here. ZooKeeper does not give Curator a connection string. It supplies a node of configuration information. Curator reads this and constructs a connection string from it. If you're using Exhibitor, then it's different, and ExhibitorEnsembleProvider does a lot of work checking for updates _etc._ But if using ZooKeeper's dynamic reconfiguration, the FixedEnsembleProvider is essentially just a holder for the connection string. The logic to decide when new connection strings are required and how to construct them lies elsewhere. > 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.2.0, 4.3.0 > Reporter: Rhys Yarranton > Priority: Major > > 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)