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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to