You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/10/08 15:10:05 UTC

[lucene-solr] branch reference_impl_dev updated: @951 Work on rare version fail on collection create.

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

markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/reference_impl_dev by this push:
     new a475213  @951 Work on rare version fail on collection create.
a475213 is described below

commit a475213962e390dfa425095e8fcac5e4361f4759
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Thu Oct 8 10:08:44 2020 -0500

    @951 Work on rare version fail on collection create.
---
 settings.gradle                                                        | 3 +++
 solr/core/src/java/org/apache/solr/cloud/Overseer.java                 | 3 +--
 .../org/apache/solr/cloud/api/collections/CreateCollectionCmd.java     | 2 +-
 .../org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java | 2 +-
 solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java     | 2 +-
 solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java    | 2 +-
 6 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/settings.gradle b/settings.gradle
index 204c7b0..5acbf5e 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -80,3 +80,6 @@ include "solr:benchmark"
 
 include "solr:benchmark"
 
+
+include "solr:benchmark"
+
diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
index e44fba3..8959b0e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -240,14 +240,13 @@ public class Overseer implements SolrCloseable {
               // the state queue, items would have been left in the
               // work queue so let's process those first
               byte[] data = fallbackQueue.peek();
-              clusterState = getZkStateReader().getClusterState();
               while (fallbackQueueSize > 0 && data != null) {
                 final ZkNodeProps message = ZkNodeProps.load(data);
                 if (log.isDebugEnabled()) log.debug("processMessage: fallbackQueueSize: {}, message = {}", fallbackQueue.getZkStats().getQueueLength(), message);
                 // force flush to ZK after each message because there is no fallback if workQueue items
                 // are removed from workQueue but fail to be written to ZK
                 try {
-                  processQueueItem(message, getZkStateReader().getClusterState(), zkStateWriter, false, null);
+                  processQueueItem(message, clusterState, zkStateWriter, false, null);
                 } catch (InterruptedException | AlreadyClosedException e) {
                   ParWork.propagateInterrupt(e);
                   return;
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
index 824cbfc..5a1e6b8 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
@@ -556,7 +556,7 @@ public class CreateCollectionCmd implements OverseerCollectionMessageHandler.Cmd
     }
 
     DocCollection newCollection = new DocCollection(cName,
-            slices, collectionProps, router, -1);
+            slices, collectionProps, router, 0);
 
     return newCollection;
   }
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
index adabebd..1ea2fc8 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
@@ -234,7 +234,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
           Map<String, Object> routerProp = (Map<String, Object>) collProps.getOrDefault(DocCollection.DOC_ROUTER, Collections.singletonMap("name", DocRouter.DEFAULT_NAME));
           DocRouter router = DocRouter.getDocRouter((String)routerProp.getOrDefault("name", DocRouter.DEFAULT_NAME));
           String path = ZkStateReader.getCollectionPath(name);
-          coll = new DocCollection(name, slices, collProps, router, zkVersion + 1);
+          coll = new DocCollection(name, slices, collProps, router, zkVersion);
           try {
             SimDistribStateManager stateManager = cloudManager.getSimDistribStateManager();
             byte[] data = Utils.toJSON(Collections.singletonMap(name, coll));
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
index 293966c..4df9f8d 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
@@ -48,7 +48,7 @@ public class ClusterState implements JSONWriter.Writable {
   // nocommit
   public ClusterState(Set<String> liveNodes,
       Map<String, DocCollection> collectionStates) {
-    this(-1, liveNodes, collectionStates);
+    this(0, liveNodes, collectionStates);
   }
   
   /**
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java b/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
index 345305a..c6492e7 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
@@ -73,7 +73,7 @@ public class DocCollection extends ZkNodeProps implements Iterable<Slice> {
   private final Boolean readOnly;
 
   public DocCollection(String name, Map<String, Slice> slices, Map<String, Object> props, DocRouter router) {
-    this(name, slices, props, router, -1);
+    this(name, slices, props, router, 0);
   }
 
   /**