You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by no...@apache.org on 2022/10/12 10:44:05 UTC

[solr] branch jira/solr-16640 updated: more logging

This is an automated email from the ASF dual-hosted git repository.

noble pushed a commit to branch jira/solr-16640
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/jira/solr-16640 by this push:
     new cdec9e361ef more logging
cdec9e361ef is described below

commit cdec9e361ef00f9015738a3251b791eb326d596b
Author: Noble Paul <no...@gmail.com>
AuthorDate: Wed Oct 12 21:43:56 2022 +1100

    more logging
---
 .../org/apache/solr/cloud/RefreshCollectionMessage.java   |  5 +++--
 .../java/org/apache/solr/cloud/overseer/SliceMutator.java | 15 ++++++++++++++-
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/RefreshCollectionMessage.java b/solr/core/src/java/org/apache/solr/cloud/RefreshCollectionMessage.java
index 1423cd46110..681020245fb 100644
--- a/solr/core/src/java/org/apache/solr/cloud/RefreshCollectionMessage.java
+++ b/solr/core/src/java/org/apache/solr/cloud/RefreshCollectionMessage.java
@@ -52,8 +52,9 @@ public class RefreshCollectionMessage implements Overseer.Message {
       // our state is up to date
       return clusterState;
     } else {
-      log.info("RefreshCollectionMessage({}). stale, refreshed", collection);
-      coll = overseer.getZkStateReader().getCollectionLive(collection);
+      log.info("RefreshCollectionMessage({}). stale, refreshed to ver {}", collection, stat.getVersion());
+      overseer.getZkStateReader().forceUpdateCollection(collection);
+      coll = overseer.getZkStateReader().getCollection(collection);
       return clusterState.copyWith(collection, coll);
     }
   }
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
index 1f860abf116..1aeb0a0796c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
@@ -29,6 +29,7 @@ import org.apache.solr.client.solrj.cloud.SolrCloudManager;
 import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
 import org.apache.solr.cloud.Overseer;
 import org.apache.solr.cloud.api.collections.Assign;
+import org.apache.solr.common.SolrException;
 import org.apache.solr.common.cloud.ClusterState;
 import org.apache.solr.common.cloud.DocCollection;
 import org.apache.solr.common.cloud.PerReplicaStates;
@@ -44,6 +45,8 @@ import org.apache.solr.common.cloud.ZkNodeProps;
 import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.common.params.CollectionAdminParams;
 import org.apache.solr.common.util.Utils;
+import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.data.Stat;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -80,7 +83,17 @@ public class SliceMutator {
     String coll = message.getStr(ZkStateReader.COLLECTION_PROP);
     if (!checkCollectionKeyExistence(message)) return ZkStateWriter.NO_OP;
     String slice = message.getStr(ZkStateReader.SHARD_ID_PROP);
-    DocCollection collection = clusterState.getCollection(coll);
+    DocCollection collection = null;
+    try {
+      collection = clusterState.getCollection(coll);
+    } catch (SolrException e) {
+      try {
+        Stat stat = zkClient.exists(DocCollection.getCollectionPath(coll), null, true);
+        log.info("NO COLL. current version : {}", stat.getVersion());
+      } catch (Exception ex) {
+      }
+      throw e;
+    }
     Slice sl = collection.getSlice(slice);
     if (sl == null) {
       log.error("Invalid Collection/Slice {}/{} ", coll, slice);