You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2017/03/08 22:31:49 UTC
[6/6] lucene-solr:jira/solr-10233: Make waitForInSyncWithLeader more
stable in different test enviroments
Make waitForInSyncWithLeader more stable in different test enviroments
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/429411ca
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/429411ca
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/429411ca
Branch: refs/heads/jira/solr-10233
Commit: 429411ca5d3d2e24a2956ee7525e2ca3fcd28d99
Parents: 043d5cb
Author: Cao Manh Dat <da...@apache.org>
Authored: Wed Mar 8 16:03:11 2017 +0700
Committer: Tomas Fernandez Lobbe <tf...@apache.org>
Committed: Wed Mar 8 13:57:55 2017 -0800
----------------------------------------------------------------------
.../core/src/java/org/apache/solr/util/TestInjection.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/429411ca/solr/core/src/java/org/apache/solr/util/TestInjection.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/TestInjection.java b/solr/core/src/java/org/apache/solr/util/TestInjection.java
index a1e77e5..bc80683 100644
--- a/solr/core/src/java/org/apache/solr/util/TestInjection.java
+++ b/solr/core/src/java/org/apache/solr/util/TestInjection.java
@@ -18,8 +18,10 @@ package org.apache.solr.util;
import java.lang.invoke.MethodHandles;
import java.lang.reflect.Method;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
+import java.util.List;
import java.util.Random;
import java.util.Set;
import java.util.Timer;
@@ -41,6 +43,7 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.Pair;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.RealTimeGetHandler;
import org.apache.solr.handler.ReplicationHandler;
import org.apache.solr.update.SolrIndexWriter;
import org.slf4j.Logger;
@@ -365,8 +368,7 @@ public class TestInjection {
Pair<Boolean,Integer> pair = parseValue(waitForReplicasInSync);
boolean enabled = pair.first();
if (!enabled) return true;
-
- Thread.sleep(1000);
+ long t = System.currentTimeMillis() - 100;
try {
for (int i = 0; i < pair.second(); i++) {
if (core.isClosed()) return true;
@@ -381,8 +383,8 @@ public class TestInjection {
long leaderVersion = (long) ((NamedList)response.get("details")).get("indexVersion");
String localVersion = core.getDeletionPolicy().getLatestCommit().getUserData().get(SolrIndexWriter.COMMIT_TIME_MSEC_KEY);
- if (localVersion == null && leaderVersion == 0) return true;
- if (localVersion != null && Long.parseLong(localVersion) == leaderVersion) {
+ if (localVersion == null && leaderVersion == 0 && !core.getUpdateHandler().getUpdateLog().hasUncommittedChanges()) return true;
+ if (localVersion != null && Long.parseLong(localVersion) == leaderVersion && leaderVersion >= t) {
return true;
} else {
Thread.sleep(500);