[
https://issues.apache.org/jira/browse/SOLR-5255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shalin Shekhar Mangar resolved SOLR-5255.
-----------------------------------------
Resolution: Fixed
Fix Version/s: 4.6
5.0
This is fixed. Thanks Jessica!
> Extraneous zookeeper call in ZkStateReader cluster state watcher and setting
> wrong watcher
> ------------------------------------------------------------------------------------------
>
> Key: SOLR-5255
> URL: https://issues.apache.org/jira/browse/SOLR-5255
> Project: Solr
> Issue Type: Bug
> Components: SolrCloud
> Affects Versions: 4.4, 4.5, 5.0
> Reporter: Jessica Cheng
> Assignee: Shalin Shekhar Mangar
> Labels: cloud, zookeeper
> Fix For: 5.0, 4.6
>
>
> In ZkStateReader.createClusterStateWatchersAndUpdate, in the watcher for the
> call to watch CLUSTER_STATE:
> List<String> liveNodes = zkClient.getChildren(
> LIVE_NODES_ZKNODE, this, true);
>
> Set<String> liveNodesSet = new HashSet<String>();
> liveNodesSet.addAll(liveNodes);
> The liveNodesSet set is never used in subsequent code, since the new cluster
> state is made from the live node set from the existing cluster state:
> Set<String> ln = ZkStateReader.this.clusterState.getLiveNodes();
> ClusterState clusterState = ClusterState.load(stat.getVersion(), data,
> ln);
> ...which is as it should since this is a watcher for cluster state (if live
> nodes changes, the watcher for live nodes will be invoked).
> Due to the above extraneous call, however, now the cluster state watcher
> (this) is also set on the LIVE_NODES_ZKNODE path, which is unnecessary to
> fire when live nodes changed.
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]