You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2018/05/21 02:06:09 UTC
lucene-solr:branch_7x: SOLR-10841: TestTlogReplica.testRecovery
sometimes fails
Repository: lucene-solr
Updated Branches:
refs/heads/branch_7x 97490ac7c -> e01a14102
SOLR-10841: TestTlogReplica.testRecovery sometimes fails
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e01a1410
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e01a1410
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e01a1410
Branch: refs/heads/branch_7x
Commit: e01a14102d55eeeb40afc753890a5f5897c8b409
Parents: 97490ac
Author: Cao Manh Dat <da...@apache.org>
Authored: Mon May 21 09:05:13 2018 +0700
Committer: Cao Manh Dat <da...@apache.org>
Committed: Mon May 21 09:05:59 2018 +0700
----------------------------------------------------------------------
.../test/org/apache/solr/cloud/TestTlogReplica.java | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e01a1410/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
index 0ea9d03..87cdf0b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
@@ -593,14 +593,26 @@ public class TestTlogReplica extends SolrCloudTestCase {
}
ChaosMonkey.start(solrRunner);
waitingForReplay.acquire();
+ // If I add the doc immediately, the leader fails to communicate with the follower with broken pipe.
+ // Options are, wait or retry...
+ for (int i = 0; i < 3; i++) {
+ UpdateRequest ureq = new UpdateRequest().add(sdoc("id", "8"));
+ ureq.setParam("collection", collectionName);
+ ureq.setParam(UpdateRequest.MIN_REPFACT, "2");
+ NamedList<Object> response = cloudClient.request(ureq);
+ if ((Integer)((NamedList<Object>)response.get("responseHeader")).get(UpdateRequest.REPFACT) >= 2) {
+ break;
+ }
+ LOG.info("Min RF not achieved yet. retrying");
+ }
new UpdateRequest()
- .add(sdoc("id", "8"))
.add(sdoc("id", "9"))
+ .add(sdoc("id", "10"))
.process(cloudClient, collectionName);
waitingForBufferUpdates.release();
RecoveryStrategy.testing_beforeReplayBufferingUpdates = null;
waitForState("Replica didn't recover", collectionName, activeReplicaCount(0,2,0));
- checkRTG(3,9, cluster.getJettySolrRunners());
+ checkRTG(3,10, cluster.getJettySolrRunners());
for (SolrCore solrCore : getSolrCore(false)) {
RefCounted<IndexWriter> iwRef = solrCore.getUpdateHandler().getSolrCoreState().getIndexWriter(null);
assertFalse("IndexWriter at replicas must not see updates ", iwRef.get().hasUncommittedChanges());