Houston Putman created SOLR-17702: ------------------------------------- Summary: ZkController should own its own reconnect logic Key: SOLR-17702 URL: https://issues.apache.org/jira/browse/SOLR-17702 Project: Solr Issue Type: Improvement Affects Versions: main (10.0) Reporter: Houston Putman
Since we use Curator now, the SolrZkClient is no longer in charge of maintaining onDisconnect and onReconnect listeners, Curator does. This means that SolrZkClient doesn't need to own their execution either. ZkController is the main usage of this logic, with big "onDisconnect" and "onReconnect" methods. However, when onReconnect is called just before a server is taken down, the ZkController does not own the executor for this reconnect logic, so we have to wait until the SolrZkClient is shut down (one of the last steps of shutting down a solr node). Instead, we can have the ZkController take control of the executor, so that we can ensure that reconnect and disconnect logic is stopped once "close()" is called. There are a few other places that use the SolrZkClient onReconnect() listener, but those can be transitioned to call Curator to add them. (ZkStateReader being the main one). And this is only going to go to main (10.0) since it requires Curator, so we don't need to worry about changing class/method signatures or back-compatibility. And one extra benefit is that we are slimming down one more thing from SolrZkClient (and maybe we can actually retire it one day)! -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org