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 21:27:38 UTC

[lucene-solr] branch reference_impl_dev updated: @955 Tmp workaround for rare issue.

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 e7e2e5a  @955 Tmp workaround for rare issue.
e7e2e5a is described below

commit e7e2e5a6a7428f6d45f57046ce5ceb1257217f75
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Thu Oct 8 16:26:13 2020 -0500

    @955 Tmp workaround for rare issue.
---
 .../org/apache/solr/cloud/overseer/ZkStateWriter.java | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 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 87f0fdc..32a1ead 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
@@ -249,14 +249,17 @@ public class ZkStateWriter {
             try {
               stat = reader.getZkClient().setData(path, data, c.getZNodeVersion(), false);
             } 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, found {}",
-                  c.getZNodeVersion(), stat.getVersion(), bve);
-              throw bve;
-           //   lastUpdatedTime = -1;
-//              failedUpdates.put(name, c);
-//              continue;
+
+              if (c.getZNodeVersion() == 1 && stat.getVersion() == 0) {
+                // need to figure out how this case happens
+                stat = reader.getZkClient().setData(path, data, 0, false);
+              } else {
+                // 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, found {}",
+                    c.getZNodeVersion(), stat.getVersion(), bve);
+                throw bve;
+              }
             }
 
         } catch (InterruptedException | AlreadyClosedException e) {