Jessica Cheng created SOLR-5255:
-----------------------------------
Summary: 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, 5.0
Reporter: Jessica Cheng
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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]