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 2018/02/26 16:52:48 UTC

lucene-solr:branch_7x: SOLR-11201: Fix bad assumptions made in testMetricTrigger

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_7x 94b7f7dcb -> 7707e6528


SOLR-11201: Fix bad assumptions made in testMetricTrigger

(cherry picked from commit e08eac4)


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/7707e652
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/7707e652
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/7707e652

Branch: refs/heads/branch_7x
Commit: 7707e6528ea5c62420df90c63fc52fc8684e4439
Parents: 94b7f7d
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Mon Feb 26 22:22:02 2018 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Mon Feb 26 22:22:36 2018 +0530

----------------------------------------------------------------------
 .../autoscaling/TriggerIntegrationTest.java     | 31 ++++++++++----------
 1 file changed, 16 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7707e652/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java
index 79fb969..ad97680 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java
@@ -1509,20 +1509,16 @@ public class TriggerIntegrationTest extends SolrCloudTestCase {
 
   @Test
   public void testMetricTrigger() throws Exception {
-    // at least 3 nodes
-    for (int i = cluster.getJettySolrRunners().size(); i < 3; i++) {
-      cluster.startJettySolrRunner();
-    }
     cluster.waitForAllNodes(5);
 
     String collectionName = "testMetricTrigger";
     CloudSolrClient solrClient = cluster.getSolrClient();
     CollectionAdminRequest.Create create = CollectionAdminRequest.createCollection(collectionName,
-        "conf", 2, 1);
+        "conf", 2, 2).setMaxShardsPerNode(2);
     create.process(solrClient);
     solrClient.setDefaultCollection(collectionName);
 
-    waitForState("Timed out waiting for collection:" + collectionName + " to become active", collectionName, clusterShape(2, 1));
+    waitForState("Timed out waiting for collection:" + collectionName + " to become active", collectionName, clusterShape(2, 2));
 
     DocCollection docCollection = solrClient.getZkStateReader().getClusterState().getCollection(collectionName);
     String shardId = "shard1";
@@ -1567,9 +1563,17 @@ public class TriggerIntegrationTest extends SolrCloudTestCase {
     response = solrClient.request(req);
     assertEquals(response.get("result").toString(), "success");
 
+    // start more nodes so that we have at least 4
+    for (int i = cluster.getJettySolrRunners().size(); i < 4; i++) {
+      cluster.startJettySolrRunner();
+    }
+    cluster.waitForAllNodes(10);
+
+    List<SolrInputDocument> docs = new ArrayList<>(500);
     for (int i = 0; i < 500; i++) {
-      solrClient.add(new SolrInputDocument("id", String.valueOf(i), "x_s", "x" + i));
+      docs.add(new SolrInputDocument("id", String.valueOf(i), "x_s", "x" + i));
     }
+    solrClient.add(docs);
     solrClient.commit();
 
     boolean await = triggerFiredLatch.await(20, TimeUnit.SECONDS);
@@ -1583,18 +1587,17 @@ public class TriggerIntegrationTest extends SolrCloudTestCase {
     assertTrue(TimeUnit.SECONDS.convert(waitForSeconds, TimeUnit.NANOSECONDS) - WAIT_FOR_DELTA_NANOS <= now - ev.event.getEventTime());
     assertEquals(collectionName, ev.event.getProperties().get("collection"));
 
-    String oldReplicaName = replica.getName();
-    docCollection = solrClient.getZkStateReader().getClusterState().getCollection(collectionName);
-    assertEquals(2, docCollection.getReplicas().size());
-    assertNull(docCollection.getReplica(oldReplicaName));
-
     // find a new replica and create its metric name
+    docCollection = solrClient.getZkStateReader().getClusterState().getCollection(collectionName);
     replica = docCollection.getSlice(shardId).getReplicas().iterator().next();
     coreName = replica.getCoreName();
     replicaName = Utils.parseMetricsReplicaName(collectionName, coreName);
     registry = SolrCoreMetricManager.createRegistryName(true, collectionName, shardId, replicaName, null);
     tag = "metrics:" + registry + ":INDEX.sizeInBytes";
 
+    triggerFiredLatch = new CountDownLatch(1);
+    listenerEvents.clear();
+
     setTriggerCommand = "{" +
         "'set-trigger' : {" +
         "'name' : 'metric_trigger'," +
@@ -1616,8 +1619,6 @@ public class TriggerIntegrationTest extends SolrCloudTestCase {
     response = solrClient.request(req);
     assertEquals(response.get("result").toString(), "success");
 
-    triggerFiredLatch = new CountDownLatch(1);
-    listenerEvents.clear();
     await = triggerFiredLatch.await(20, TimeUnit.SECONDS);
     assertTrue("The trigger did not fire at all", await);
     // wait for listener to capture the SUCCEEDED stage
@@ -1629,6 +1630,6 @@ public class TriggerIntegrationTest extends SolrCloudTestCase {
     assertTrue(TimeUnit.SECONDS.convert(waitForSeconds, TimeUnit.NANOSECONDS) - WAIT_FOR_DELTA_NANOS <= now - ev.event.getEventTime());
     assertEquals(collectionName, ev.event.getProperties().get("collection"));
     docCollection = solrClient.getZkStateReader().getClusterState().getCollection(collectionName);
-    assertEquals(3, docCollection.getReplicas().size());
+    assertEquals(5, docCollection.getReplicas().size());
   }
 }