[ https://issues.apache.org/jira/browse/SOLR-14389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17077408#comment-17077408 ]
Houston Putman commented on SOLR-14389: --------------------------------------- I researched the way that Curator handles automatic reconfiguration (not having users do the reconfiguration themselves), and it seems odd to me, but it is there. They also have explicit APIs to reconfigure the ZookeeperCluster, but I don't know why using that would be preferable to automatically updating. Basically whenever the {{CuratorFrameworkImpl}} is created, it is given an {{EnsembleProvider}} class, which basically does nothing more than supply the Ensemble's connection string. The {{CuratorFrameworkImpl}} then creates an {{EnsembleTracker}} that watches on changes to the ZK Config Node and will update the connectionString in the {{EnsembleProvider}} if it changes. Now the EnsembleProvider will not actually initiate any changes in the {{CuratorZookeeperClient}}; however the CuratorZKClient maintains a state for its connection to ZK, {{ConnectionState}}, which is passed the {{EnsembleProvider}} class. So if the connection to ZK is lost, {{ConnectionState}} will then ask the {{EnsembleProvider}} for the connection String, and if it's different than the current connection string it will update the underlying {{ZooKeeper}} class. I included this mostly because I couldn't find any documentation around it, and it will likely be useful to look back on when we make the migration to Curator. > Support dynamic reconfiguration of Zookeeper ensemble > ----------------------------------------------------- > > Key: SOLR-14389 > URL: https://issues.apache.org/jira/browse/SOLR-14389 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: SolrCloud > Reporter: Jan Høydahl > Priority: Major > > Spinoff from SOLR-14371. > Zookeeper has got support for dynamic reconfiguration since v3.5 (See > https://zookeeper.apache.org/doc/r3.6.0/zookeeperReconfig.html). But users > need to actively start using it. Currently Solr treats the {{ZK_HOST}} var / > {{-DzkHost}} sysprop as a static truth, and will only ever attempt to connect > to the hosts originally included in the connection string. > This issue aims to implement "Rebalancing Client Connections" as described in > last paragrah in above link. This will let sys admins extend or change their > ensemble, and Solr nodes will update and re-balance, as long as at least one > of the zk hosts are still in the static {{ZK_HOST}} list. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org