Jerry created SOLR-18298:
----------------------------

             Summary: ZkController.onReconnect Is Triggered Unnecessarily
                 Key: SOLR-18298
                 URL: https://issues.apache.org/jira/browse/SOLR-18298
             Project: Solr
          Issue Type: Improvement
          Components: SolrCloud
    Affects Versions: 10.0
            Reporter: Jerry


Curator's RECONNECTED event is different from the previous RECONNECTED event. 
Before Solr10, the OnReconnect is only triggered after a session expiration and 
reconnection.
Check the following
https://github.com/apache/solr/blob/fdb5314279657f7895a90123436d834e81ea3157/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ConnectionManager.java#L165
 
https://github.com/apache/solr/blob/fdb5314279657f7895a90123436d834e81ea3157/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ConnectionManager.java#L199

But Curator's RECONNECTED event is triggered every time a Solr node is 
disconnected from a ZooKeeper instance and reconnected to another
 ZooKeeper instance

Therefore, currently ZkController.onReconnect is invoked  every time a Solr 
node is disconnected from a ZooKeeper instance and reconnected, which is a huge 
overhead, especially when we need to rolling restart a ZooKeeper Cluster. It 
can take more than 10 minutes for a small Solr cluster to level out.

Similiarly, now ZkController.onDisconnect is triggered just after a 
disconnection from a Zookeeper instance. It should only be triggered after a 
session expiration.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to