You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by et...@apache.org on 2020/11/16 05:08:22 UTC

[storm] branch master updated: [STORM-3706] Add Cluster.needsSchedulingRas() to tests to ensure correct value is returned. (#3340)

This is an automated email from the ASF dual-hosted git repository.

ethanli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git


The following commit(s) were added to refs/heads/master by this push:
     new 19eb699  [STORM-3706] Add Cluster.needsSchedulingRas() to tests to ensure correct value is returned. (#3340)
19eb699 is described below

commit 19eb699061a1e2ffb7e05576985905d1da1ca1e5
Author: Bipin Prasad <bi...@yahoo.com>
AuthorDate: Sun Nov 15 23:08:11 2020 -0600

    [STORM-3706] Add Cluster.needsSchedulingRas() to tests to ensure correct value is returned. (#3340)
---
 .../resource/TestResourceAwareScheduler.java       | 36 ++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/storm-server/src/test/java/org/apache/storm/scheduler/resource/TestResourceAwareScheduler.java b/storm-server/src/test/java/org/apache/storm/scheduler/resource/TestResourceAwareScheduler.java
index 7a8d0fe..abb5fa8 100644
--- a/storm-server/src/test/java/org/apache/storm/scheduler/resource/TestResourceAwareScheduler.java
+++ b/storm-server/src/test/java/org/apache/storm/scheduler/resource/TestResourceAwareScheduler.java
@@ -208,6 +208,7 @@ public class TestResourceAwareScheduler {
         assertEquals(1, assignedSlots.size());
         assertEquals(1, nodesIDs.size());
         assertEquals(2, executors.size());
+        assertFalse(cluster.needsSchedulingRas(topology1));
         assertTrue(cluster.getStatusMap().get(topology1.getId()).startsWith("Running - Fully Scheduled by DefaultResourceAwareStrategy"));
     }
 
@@ -257,6 +258,7 @@ public class TestResourceAwareScheduler {
         assertEquals(1, assignedSlots1.size());
         assertEquals(1, nodesIDs1.size());
         assertEquals(7, executors1.size());
+        assertFalse(cluster.needsSchedulingRas(topology1));
         assertTrue(cluster.getStatusMap().get(topology1.getId()).startsWith("Running - Fully Scheduled by DefaultResourceAwareStrategy"));
 
         SchedulerAssignment assignment2 = cluster.getAssignmentById(topology2.getId());
@@ -270,6 +272,7 @@ public class TestResourceAwareScheduler {
         assertEquals(1, assignedSlots2.size());
         assertEquals(1, nodesIDs2.size());
         assertEquals(2, executors2.size());
+        assertFalse(cluster.needsSchedulingRas(topology2));
         assertTrue(cluster.getStatusMap().get(topology2.getId()).startsWith("Running - Fully Scheduled by DefaultResourceAwareStrategy"));
     }
 
@@ -314,6 +317,7 @@ public class TestResourceAwareScheduler {
         assertEquals(2, executors1.size());
         assertEquals(400.0, assignedMemory, 0.001);
         assertEquals(40.0, assignedCpu, 0.001);
+        assertFalse(cluster.needsSchedulingRas(topology1));
         String expectedStatusPrefix = "Running - Fully Scheduled by DefaultResourceAwareStrategy";
         assertTrue(cluster.getStatusMap().get(topology1.getId()).startsWith(expectedStatusPrefix));
     }
@@ -401,6 +405,7 @@ public class TestResourceAwareScheduler {
         for (Map.Entry<Double, Double> entry : cpuAvailableToUsed.entrySet()) {
             assertTrue(entry.getKey() - entry.getValue() >= 0);
         }
+        assertFalse(cluster.needsSchedulingRas(topology1));
         assertTrue(cluster.getStatusMap().get(topology1.getId()).startsWith("Running - Fully Scheduled by DefaultResourceAwareStrategy"));
     }
 
@@ -458,6 +463,7 @@ public class TestResourceAwareScheduler {
         for (ExecutorDetails executor : healthyExecutors) {
             assertEquals(copyOfOldMapping.get(executor), newExecutorToSlot.get(executor));
         }
+        assertFalse(cluster.needsSchedulingRas(topology2));
         assertTrue(cluster.getStatusMap().get(topology2.getId()).startsWith("Running - Fully Scheduled by DefaultResourceAwareStrategy"));
         // end of Test1
 
@@ -513,6 +519,7 @@ public class TestResourceAwareScheduler {
         for (ExecutorDetails executor : existingExecutors) {
             assertEquals(copyOfOldMapping.get(executor), newExecutorToSlot.get(executor));
         }
+        assertFalse(cluster1.needsSchedulingRas(topology1));
         assertEquals("Fully Scheduled", cluster1.getStatusMap().get(topology1.getId()));
         // end of Test3
 
@@ -534,6 +541,8 @@ public class TestResourceAwareScheduler {
         for (ExecutorDetails executor : copyOfOldMapping.keySet()) {
             assertEquals(copyOfOldMapping.get(executor), newExecutorToSlot.get(executor));
         }
+        assertFalse(cluster1.needsSchedulingRas(topology1));
+        assertFalse(cluster1.needsSchedulingRas(topology2));
         String expectedStatusPrefix = "Running - Fully Scheduled by DefaultResourceAwareStrategy";
         assertTrue(cluster1.getStatusMap().get(topology1.getId()).startsWith(expectedStatusPrefix));
         assertTrue(cluster1.getStatusMap().get(topology2.getId()).startsWith(expectedStatusPrefix));
@@ -621,6 +630,10 @@ public class TestResourceAwareScheduler {
         try {
             rs.schedule(topologies, cluster);
 
+            assertFalse(cluster.needsSchedulingRas(topology1));
+            assertFalse(cluster.needsSchedulingRas(topology2));
+            assertFalse(cluster.needsSchedulingRas(topology3));
+
             String expectedMsgPrefix = "Running - Fully Scheduled by " + strategyName;
             assertTrue(cluster.getStatusMap().get(topology1.getId()).startsWith(expectedMsgPrefix));
             assertTrue(cluster.getStatusMap().get(topology2.getId()).startsWith(expectedMsgPrefix));
@@ -727,6 +740,7 @@ public class TestResourceAwareScheduler {
         rs.prepare(config1, new StormMetricsRegistry());
         try {
             rs.schedule(topologies, cluster);
+            assertFalse(cluster.needsSchedulingRas(topology1));
             assertTrue(cluster.getStatusMap().get(topology1.getId()).startsWith("Running - Fully Scheduled by DefaultResourceAwareStrategy"));
             assertEquals(4, cluster.getAssignedNumWorkers(topology1));
         } finally {
@@ -751,6 +765,7 @@ public class TestResourceAwareScheduler {
         rs.prepare(config2, new StormMetricsRegistry());
         try {
             rs.schedule(topologies, cluster);
+            assertTrue(cluster.needsSchedulingRas(topology2));
             String status = cluster.getStatusMap().get(topology2.getId());
             assert status.startsWith("Not enough resources to schedule") : status;
             //assert status.endsWith("5 executors not scheduled") : status;
@@ -989,6 +1004,7 @@ public class TestResourceAwareScheduler {
         scheduler = new ResourceAwareScheduler();
         scheduler.prepare(config, new StormMetricsRegistry());
         scheduler.schedule(topologies, cluster);
+        assertFalse(cluster.needsSchedulingRas(topo1));
         assertTrue("Topo-1 scheduled?", cluster.getAssignmentById(topo1.getId()) != null);
     }
 
@@ -1010,6 +1026,9 @@ public class TestResourceAwareScheduler {
         scheduler = new ResourceAwareScheduler();
         scheduler.prepare(config, new StormMetricsRegistry());
         scheduler.schedule(topologies, cluster);
+        assertFalse(cluster.needsSchedulingRas(topo1));
+        assertFalse(cluster.needsSchedulingRas(topo2));
+        assertTrue(cluster.needsSchedulingRas(topo3));
         assertTrue("topo-1 scheduled?", cluster.getAssignmentById(topo1.getId()) != null);
         assertTrue("topo-2 scheduled?", cluster.getAssignmentById(topo2.getId()) != null);
         assertFalse("topo-3 unscheduled?", cluster.getAssignmentById(topo3.getId()) != null);
@@ -1056,6 +1075,18 @@ public class TestResourceAwareScheduler {
         scheduler = new ResourceAwareScheduler();
         scheduler.prepare(config, new StormMetricsRegistry());
         scheduler.schedule(topologies, cluster);
+
+        assertFalse(cluster.needsSchedulingRas(topo0));
+        assertFalse(cluster.needsSchedulingRas(topo1));
+        assertFalse(cluster.needsSchedulingRas(topo2));
+        assertFalse(cluster.needsSchedulingRas(topo3));
+        assertFalse(cluster.needsSchedulingRas(topo4));
+        assertFalse(cluster.needsSchedulingRas(topo5));
+        assertFalse(cluster.needsSchedulingRas(topo6));
+        assertFalse(cluster.needsSchedulingRas(topo7));
+        assertFalse(cluster.needsSchedulingRas(topo8));
+        assertTrue(cluster.needsSchedulingRas(topo9));
+
         assertTrue("topo-0 scheduled?", cluster.getAssignmentById(topo0.getId()) != null);
         assertTrue("topo-1 scheduled?", cluster.getAssignmentById(topo1.getId()) != null);
         assertTrue("topo-2 scheduled?", cluster.getAssignmentById(topo2.getId()) != null);
@@ -1085,6 +1116,7 @@ public class TestResourceAwareScheduler {
         scheduler = new ResourceAwareScheduler();
         scheduler.prepare(config, new StormMetricsRegistry());
         scheduler.schedule(topologies, cluster);
+        assertTrue(cluster.needsSchedulingRas(topo1));
         assertFalse("Topo-1 unscheduled?", cluster.getAssignmentById(topo1.getId()) != null);
     }
 
@@ -1424,6 +1456,10 @@ public class TestResourceAwareScheduler {
         scheduler.prepare(config, new StormMetricsRegistry());
         scheduler.schedule(topologies, cluster);
 
+        assertFalse(cluster.needsSchedulingRas(topo1));
+        assertTrue(cluster.needsSchedulingRas(topo2));
+        assertFalse(cluster.needsSchedulingRas(topo3));
+
         assertTrue("Topo-1 scheduled?", cluster.getAssignmentById(topo1.getId()) != null);
         assertEquals("Topo-1 all executors scheduled?", 2, cluster.getAssignmentById(topo1.getId()).getExecutorToSlot().size());
         assertTrue("Topo-2 not scheduled", cluster.getAssignmentById(topo2.getId()) == null);