HoustonPutman commented on code in PR #2432:
URL: https://github.com/apache/solr/pull/2432#discussion_r1588050937


##########
solr/core/src/java/org/apache/solr/cloud/ZkController.java:
##########
@@ -2849,9 +2834,14 @@ public boolean 
checkIfCoreNodeNameAlreadyExists(CoreDescriptor dcore) {
    * Best effort to set DOWN state for all replicas on node.
    *
    * @param nodeName to operate on
+   * @return the names of the collections that have replicas on the given node
    */
-  public void publishNodeAsDown(String nodeName) {
+  public Collection<String> publishNodeAsDown(String nodeName) {
     log.info("Publish node={} as DOWN", nodeName);
+
+    ClusterState clusterState = cc.getZkController().getClusterState();
+    Map<String, List<Replica>> replicasPerCollectionOnNode =
+        clusterState.getReplicaNamesPerCollectionOnNode(nodeName);

Review Comment:
   To be clear, the overseer should have all the collections state anyways, so 
its much less of an issue. I do understand that looping through thousands (or 
hundreds of thousands) of collections is a problem itself, without storing 
replica information in two places (under nodes and under shards) it's a 
necessary evil sometimes.
   
   Having replica state be an ephemeral node could be useful in this regard, I 
wonder how it would complicate the general loading and reading of cluster 
state. (and impact ZK load for large clusters)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to