Github user danny0405 commented on a diff in the pull request:
https://github.com/apache/storm/pull/2389#discussion_r148777617
--- Diff:
storm-core/test/jvm/org/apache/storm/nimbus/NimbusHeartbeatsPressureTest.java
---
@@ -0,0 +1,208 @@
+package org.apache.storm.nimbus;
+
+import org.apache.storm.Config;
+import org.apache.storm.generated.ExecutorInfo;
+import org.apache.storm.generated.SupervisorWorkerHeartbeat;
+import org.apache.storm.generated.SupervisorWorkerHeartbeats;
+import org.apache.storm.utils.NimbusClient;
+import org.apache.storm.utils.Utils;
+import org.apache.thrift.TException;
+import org.apache.thrift.transport.TTransportException;
+import org.junit.Test;
+
+import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Test for nimbus heartbeats max throughput, This is a client to collect
the statistics.
+ */
+public class NimbusHeartbeatsPressureTest {
+ /**
+ * the args below can be configured.
+ */
+ private static String NIMBUS_HOST = "localhost";
+ private static int NIMBUS_PORT = 6627;
+
+ private static int THREADS_NUM = 50;
+ private static int THREAD_SUBMIT_NUM = 1;
+ private static int MOCKED_STORM_NUM = 5000;
+ private static volatile boolean[] readyFlags = new
boolean[THREADS_NUM];
+
+ static {
+ for (int i = 0; i < THREADS_NUM; i++) {
+ readyFlags[i] = false;
+ }
+ }
+
+ private static Random rand = new Random(47);
+ private static List<double[]> totalCostTimesBook = new ArrayList<>();
+
+ private static Config initializedConfig() {
+ Config conf = new Config();
+ conf.putAll(Utils.readDefaultConfig());
+ ArrayList<String> nimbusSeeds = new ArrayList<>();
+ nimbusSeeds.add(NIMBUS_HOST);
+
+ conf.put(Config.NIMBUS_SEEDS, nimbusSeeds);
+ conf.put(Config.NIMBUS_THRIFT_PORT, NIMBUS_PORT);
+ return conf;
+ }
+
+ @Test
+ public void testMaxThroughput() {
--- End diff --
i will run mvn clean install -Pall-tests to see what happens and fix the
unit test part
---