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/05/25 16:37:28 UTC
lucene-solr:master: SOLR-10233:
ChaosMonkeySafeLeaderWithPullReplicasTest - Catch SolrException while waiting
for the cluster to be ready
Repository: lucene-solr
Updated Branches:
refs/heads/master b3024d67c -> 1e4d2052e
SOLR-10233: ChaosMonkeySafeLeaderWithPullReplicasTest - Catch SolrException while waiting for the cluster to be ready
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/1e4d2052
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/1e4d2052
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1e4d2052
Branch: refs/heads/master
Commit: 1e4d2052e6ce10b4012eda8802a8d32ccadeeba3
Parents: b3024d6
Author: Tomas Fernandez Lobbe <tf...@apache.org>
Authored: Thu May 25 09:37:16 2017 -0700
Committer: Tomas Fernandez Lobbe <tf...@apache.org>
Committed: Thu May 25 09:37:16 2017 -0700
----------------------------------------------------------------------
.../solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java | 3 ++-
.../src/java/org/apache/solr/cloud/SolrCloudTestCase.java | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1e4d2052/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java
index f2e8845..e4859c0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java
@@ -27,6 +27,7 @@ import org.apache.solr.SolrTestCaseJ4.SuppressObjectReleaseTracker;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
@@ -234,7 +235,7 @@ public class ChaosMonkeySafeLeaderWithPullReplicasTest extends AbstractFullDistr
try {
del("*:*");
break;
- } catch (SolrServerException e) {
+ } catch (SolrServerException | SolrException e) {
// cluster may not be up yet
e.printStackTrace();
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1e4d2052/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
index 180cf6e..42c4577 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
@@ -22,11 +22,13 @@ import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Predicate;
@@ -256,13 +258,15 @@ public class SolrCloudTestCase extends SolrTestCaseJ4 {
*/
protected void waitForState(String message, String collection, CollectionStatePredicate predicate) {
AtomicReference<DocCollection> state = new AtomicReference<>();
+ AtomicReference<Set<String>> liveNodesLastSeen = new AtomicReference<>();
try {
cluster.getSolrClient().waitForState(collection, DEFAULT_TIMEOUT, TimeUnit.SECONDS, (n, c) -> {
state.set(c);
+ liveNodesLastSeen.set(n);
return predicate.matches(n, c);
});
} catch (Exception e) {
- fail(message + "\n" + e.getMessage() + "\nLast available state: " + state.get());
+ fail(message + "\n" + e.getMessage() + "\nLive Nodes: " + Arrays.toString(liveNodesLastSeen.get().toArray()) + "\nLast available state: " + state.get());
}
}