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/09/04 13:24:10 UTC
[lucene-solr] 04/04: @737 Fix the fix.
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
commit 3d09ebccc94614e739ef777d853155850db1af66
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Fri Sep 4 08:17:34 2020 -0500
@737 Fix the fix.
---
.../src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java | 9 +++++++++
solr/test-framework/src/java/org/apache/solr/SolrTestCase.java | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
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 cf99221..6cfecb5 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
@@ -38,6 +38,7 @@ import javax.print.Doc;
import java.lang.invoke.MethodHandles;
import java.util.ArrayDeque;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Deque;
import java.util.HashMap;
import java.util.HashSet;
@@ -178,6 +179,14 @@ public class ZkStateWriter {
c.getSlicesMap().forEach((sliceId, slice) -> {
if (finalColl.getSlice(sliceId) != null) {
Map<String,Replica> newReplicas = new HashMap<>();
+
+ // start with existing state unless it's a replica that has been removed
+ Collection<Replica> nReplicas = finalC.getSlice(sliceId).getReplicas();
+ for (Replica oReplica : slice.getReplicas()) {
+ if (nReplicas.contains(oReplica)) {
+ newReplicas.put(oReplica.getName(), oReplica);
+ }
+ }
finalC.getSlice(sliceId).getReplicas().forEach((replica) -> {
newReplicas.put(replica.getName(), replica);
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
index 00c8153..b91e73e 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
@@ -329,7 +329,7 @@ public class SolrTestCase extends LuceneTestCase {
System.setProperty("solr.cloud.wait-for-updates-with-stale-state-pause", "0");
System.setProperty("solr.cloud.starting-recovery-delay-milli-seconds", "500");
- System.setProperty("solr.waitForState", "5"); // secs
+ System.setProperty("solr.waitForState", "10"); // secs
System.setProperty("solr.default.collection_op_timeout", "10000");