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