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/07/26 18:25:41 UTC

[lucene-solr] branch reference_impl updated: @353 Still needs work.

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

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


The following commit(s) were added to refs/heads/reference_impl by this push:
     new 4b7ee6a  @353 Still needs work.
4b7ee6a is described below

commit 4b7ee6a865a0cf8d680cafe6371d94c3abc06e74
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Jul 26 13:25:24 2020 -0500

    @353 Still needs work.
---
 .../org/apache/solr/cloud/overseer/ZkStateWriter.java   | 17 +++++++++++------
 .../src/test/org/apache/solr/cloud/DeleteNodeTest.java  |  2 +-
 .../solr/client/solrj/impl/ZkDistribStateManager.java   |  7 +++----
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
index ef558b4..975fddc 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
@@ -115,6 +115,7 @@ public class ZkStateWriter {
     while (true) {
       try {
         state = writePendingUpdates(reader.getClusterState());
+
       } catch (KeeperException.BadVersionException e) {
         prevState = reader.getClusterState();
         stats = new Stats();
@@ -177,13 +178,14 @@ public class ZkStateWriter {
     Timer.Context timerContext = stats.time("update_state");
     boolean success = false;
     ClusterState newClusterState = null;
-    int prevVersion = -1;
+
     try {
       // if (!updates.isEmpty()) {
       for (Map.Entry<String,DocCollection> entry : updates.entrySet()) {
         String name = entry.getKey();
         String path = ZkStateReader.getCollectionPath(name);
         DocCollection c = entry.getValue();
+        int prevVersion = -1;
         Stat stat = new Stat();
 
         try {
@@ -260,9 +262,9 @@ public class ZkStateWriter {
             c = newClusterState.getCollection(name);
             byte[] data = Utils.toJSON(singletonMap(c.getName(), newCollection));
 
-            if (log.isDebugEnabled()) {
-              log.debug("Write state.json bytes={} cs={}", data.length, newClusterState);
-            }
+            //if (log.isDebugEnabled()) {
+              log.info("Write state.json prevVersion={} bytes={} cs={}", prevVersion, data.length, newClusterState);
+            //}
             // stat = reader.getZkClient().getCurator().setData().withVersion(prevVersion).forPath(path, data);
             stat = reader.getZkClient().setData(path, data, prevVersion, true);
           } else {
@@ -299,7 +301,7 @@ public class ZkStateWriter {
           if (e instanceof KeeperException.BadVersionException) {
             // nocommit invalidState = true;
             //if (log.isDebugEnabled())
-            log.info("Tried to update the cluster state using version={} but we where rejected, currently at {}", prevVersion, ((KeeperException.BadVersionException) e).getMessage(), e);
+            log.info("Tried to update the cluster state using version={} but we where rejected, currently at {}", prevVersion, c == null ? "null" : c.getZNodeVersion(), e);
             throw (KeeperException.BadVersionException) e;
           }
           ParWork.propegateInterrupt(e);
@@ -338,7 +340,10 @@ public class ZkStateWriter {
       success = true;
     } catch (KeeperException.BadVersionException bve) {
       // this is a tragic error, we must disallow usage of this instance
-       log.warn("Tried to update the cluster state using version={} but we where rejected as the version is {}", newClusterState.getZNodeVersion(), bve.getMessage(), bve);
+       log.warn("Tried to update the cluster state using version={} but we where rejected", newClusterState.getZNodeVersion(), bve);
+
+
+
       // nocommit invalidState = true;
       throw bve;
     } finally {
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
index 7941e55..5c5cca5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
@@ -70,7 +70,7 @@ public class DeleteNodeTest extends SolrCloudTestCase {
         CollectionAdminRequest.createCollection(coll, "conf1", 5, 1, 0, 0),
         CollectionAdminRequest.createCollection(coll, "conf1", 5, 0, 1, 0)
         );
-    create.setCreateNodeSet(StrUtils.join(l, ',')).setMaxShardsPerNode(3);
+    create.setCreateNodeSet(StrUtils.join(l, ',')).setMaxShardsPerNode(10);
     cloudClient.request(create);
     state = cloudClient.getZkStateReader().getClusterState();
     String node2bdecommissioned = l.get(0);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkDistribStateManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkDistribStateManager.java
index a8225b7..529049a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkDistribStateManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkDistribStateManager.java
@@ -108,13 +108,12 @@ public class ZkDistribStateManager implements DistribStateManager {
 
   @Override
   public void makePath(String path, byte[] data, CreateMode createMode, boolean failOnExists) throws AlreadyExistsException, IOException, KeeperException, InterruptedException {
-    if (path.equals("/collections/collection1/terms")) {
-     // throw new IllegalArgumentException();
-    }
     try {
       zkClient.mkdir(path, data, createMode);
     } catch (KeeperException.NodeExistsException e) {
-      throw new AlreadyExistsException(path);
+        if (failOnExists) {
+          throw new AlreadyExistsException(path);
+        }
     }
   }