You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2015/02/25 14:35:36 UTC
svn commit: r1662210 - in /lucene/dev/branches/branch_5x: ./ solr/
solr/core/ solr/core/src/test-files/solr/
solr/core/src/test/org/apache/solr/cloud/
solr/core/src/test/org/apache/solr/handler/component/ solr/test-framework/
solr/test-framework/src/ja...
Author: shalin
Date: Wed Feb 25 13:35:35 2015
New Revision: 1662210
URL: http://svn.apache.org/r1662210
Log:
SOLR-7147: Introduce new TrackingShardHandlerFactory for monitoring what requests are sent to shards during tests
Added:
lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/solr-trackingshardhandler.xml
- copied unchanged from r1662209, lucene/dev/trunk/solr/core/src/test-files/solr/solr-trackingshardhandler.xml
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/component/TestTrackingShardHandlerFactory.java
- copied unchanged from r1662209, lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/TestTrackingShardHandlerFactory.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/handler/
- copied from r1662209, lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/handler/
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/solr/ (props changed)
lucene/dev/branches/branch_5x/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_5x/solr/core/ (props changed)
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudCluster.java
lucene/dev/branches/branch_5x/solr/test-framework/ (props changed)
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java
Modified: lucene/dev/branches/branch_5x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/CHANGES.txt?rev=1662210&r1=1662209&r2=1662210&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/solr/CHANGES.txt Wed Feb 25 13:35:35 2015
@@ -146,6 +146,9 @@ Other Changes
* SOLR-7156: Fix test failures due to resource leaks on windows.
(Ishan Chattopadhyaya via shalin)
+* SOLR-7147: Introduce new TrackingShardHandlerFactory for monitoring what requests
+ are sent to shards during tests. (hossman, shalin)
+
================== 5.0.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudCluster.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudCluster.java?rev=1662210&r1=1662209&r2=1662210&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudCluster.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudCluster.java Wed Feb 25 13:35:35 2015
@@ -126,7 +126,7 @@ public class TestMiniSolrCloudCluster ex
try(SolrZkClient zkClient = new SolrZkClient
(miniCluster.getZkServer().getZkAddress(), AbstractZkTestCase.TIMEOUT, 45000, null)) {
ZkStateReader zkStateReader = new ZkStateReader(zkClient);
- waitForRecoveriesToFinish(collectionName, zkStateReader, true, true, 330);
+ AbstractDistribZkTestBase.waitForRecoveriesToFinish(collectionName, zkStateReader, true, true, 330);
// modify/query collection
CloudSolrClient cloudSolrClient = miniCluster.getSolrClient();
@@ -168,54 +168,4 @@ public class TestMiniSolrCloudCluster ex
}
}
- protected void waitForRecoveriesToFinish(String collection,
- ZkStateReader zkStateReader, boolean verbose, boolean failOnTimeout, int timeoutSeconds)
- throws Exception {
- log.info("Wait for recoveries to finish - collection: " + collection + " failOnTimeout:" + failOnTimeout + " timeout (sec):" + timeoutSeconds);
- boolean cont = true;
- int cnt = 0;
-
- while (cont) {
- if (verbose) System.out.println("-");
- boolean sawLiveRecovering = false;
- zkStateReader.updateClusterState(true);
- ClusterState clusterState = zkStateReader.getClusterState();
- Map<String,Slice> slices = clusterState.getSlicesMap(collection);
- assertNotNull("Could not find collection:" + collection, slices);
- for (Map.Entry<String,Slice> entry : slices.entrySet()) {
- Map<String,Replica> shards = entry.getValue().getReplicasMap();
- for (Map.Entry<String,Replica> shard : shards.entrySet()) {
- if (verbose) System.out.println("rstate:"
- + shard.getValue().getStr(ZkStateReader.STATE_PROP)
- + " live:"
- + clusterState.liveNodesContain(shard.getValue().getNodeName()));
- String state = shard.getValue().getStr(ZkStateReader.STATE_PROP);
- if ((state.equals(ZkStateReader.RECOVERING) || state
- .equals(ZkStateReader.SYNC) || state.equals(ZkStateReader.DOWN))
- && clusterState.liveNodesContain(shard.getValue().getStr(
- ZkStateReader.NODE_NAME_PROP))) {
- sawLiveRecovering = true;
- }
- }
- }
- if (!sawLiveRecovering || cnt == timeoutSeconds) {
- if (!sawLiveRecovering) {
- if (verbose) System.out.println("no one is recoverying");
- } else {
- if (verbose) System.out.println("Gave up waiting for recovery to finish..");
- if (failOnTimeout) {
- fail("There are still nodes recoverying - waited for " + timeoutSeconds + " seconds");
- // won't get here
- return;
- }
- }
- cont = false;
- } else {
- Thread.sleep(1000);
- }
- cnt++;
- }
-
- log.info("Recoveries finished - collection: " + collection);
- }
}
Modified: lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java?rev=1662210&r1=1662209&r2=1662210&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java (original)
+++ lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java Wed Feb 25 13:35:35 2015
@@ -133,7 +133,7 @@ public abstract class AbstractDistribZkT
waitForRecoveriesToFinish(collection, zkStateReader, verbose, failOnTimeout, 330);
}
- protected void waitForRecoveriesToFinish(String collection,
+ public static void waitForRecoveriesToFinish(String collection,
ZkStateReader zkStateReader, boolean verbose, boolean failOnTimeout, int timeoutSeconds)
throws Exception {
log.info("Wait for recoveries to finish - collection: " + collection + " failOnTimeout:" + failOnTimeout + " timeout (sec):" + timeoutSeconds);
@@ -170,7 +170,7 @@ public abstract class AbstractDistribZkT
if (verbose) System.out.println("Gave up waiting for recovery to finish..");
if (failOnTimeout) {
Diagnostics.logThreadDumps("Gave up waiting for recovery to finish. THREAD DUMP:");
- printLayout();
+ zkStateReader.getZkClient().printLayoutToStdOut();
fail("There are still nodes recoverying - waited for " + timeoutSeconds + " seconds");
// won't get here
return;