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/27 18:26:48 UTC
[lucene-solr] branch reference_impl updated: @396 Tweak state
updater.
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 908c07c @396 Tweak state updater.
908c07c is described below
commit 908c07c82f7c8a2795ce81a49257b2f6855bf2d4
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Mon Jul 27 13:26:32 2020 -0500
@396 Tweak state updater.
---
.../apache/solr/cloud/overseer/ZkStateWriter.java | 24 +++++++++++++---------
1 file changed, 14 insertions(+), 10 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 6fe4253..256699d 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
@@ -180,6 +180,7 @@ public class ZkStateWriter {
Timer.Context timerContext = stats.time("update_state");
boolean success = false;
ClusterState newClusterState = null;
+ KeeperException.BadVersionException exception = null;
try {
// if (!updates.isEmpty()) {
@@ -187,7 +188,7 @@ public class ZkStateWriter {
String name = entry.getKey();
String path = ZkStateReader.getCollectionPath(name);
DocCollection c = entry.getValue();
- Integer prevVersion = -1;
+ Integer prevVersion = 0;
if (lastUpdatedTime == -1) {
prevVersion = 0;
}
@@ -274,7 +275,14 @@ public class ZkStateWriter {
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);
+ try {
+ stat = reader.getZkClient().setData(path, data, prevVersion, 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 {}", newClusterState.getZNodeVersion(), stat.getVersion(), bve);
+ exception = bve;
+ continue;
+ }
} else {
if (log.isDebugEnabled()) {
log.debug("writePendingUpdates() - going to create_collection {}", path);
@@ -346,15 +354,11 @@ public class ZkStateWriter {
//
lastUpdatedTime = System.nanoTime();
- 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", newClusterState.getZNodeVersion(), bve);
-
-
+ if (exception != null) {
+ throw exception;
+ }
- // nocommit invalidState = true;
- throw bve;
+ success = true;
} finally {
timerContext.stop();
if (success) {