patsonluk commented on code in PR #909:
URL: https://github.com/apache/solr/pull/909#discussion_r911530388


##########
solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java:
##########
@@ -326,12 +408,11 @@ public void forciblyRefreshAllClusterStateSlow() throws 
KeeperException, Interru
       // No need to set watchers because we should already have watchers 
registered for everything.
       refreshCollectionList(null);
       refreshLiveNodes(null);
-      // Need a copy so we don't delete from what we're iterating over.
-      Collection<String> safeCopy = new 
ArrayList<>(watchedCollectionStates.keySet());
+
       Set<String> updatedCollections = new HashSet<>();
-      for (String coll : safeCopy) {
+      for (String coll : collectionWatches.keySet()) {

Review Comment:
   Ah yes. This is one of the change that Im not 100% sure as it changes the 
behavior. It was buried in one of the original questions:
   
   1. In `forciblyRefreshAllClusterStateSlow`, which we are proposing to just 
replace `watchedCollectionStates.keySet()` with `collectionWatches.keySet()`, 
the reasoning is that we should forcibly update every collection that is 
registered in `collectionWatches`, even if previous fetch on such collection 
returned null (ie `watchedCollectionStates` would have no entry on it). This is 
a minor change of behavior but I think it is more "correct"? Would really need 
more experienced Solr dev to share their thoughts here 🙏🏼 
   
   So my reasoning is that `forciblyRefreshAllClusterStateSlow` is supposed to 
"discover" new collections if it was previously watched but not yet existed in 
last fetch.



-- 
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