From a5540d79fa8b3b6f625308972fe922786680b833 Mon Sep 17 00:00:00 2001 From: Jungtaek Lim Date: Thu, 1 Feb 2018 09:46:52 +0900 Subject: [PATCH] STORM-2853 Initialize tick tuple after initializing spouts/bolts * this prevents newly-initializing executor in deactivated topology to show high CPU usage --- storm-client/src/jvm/org/apache/storm/executor/Executor.java | 1 - .../src/jvm/org/apache/storm/executor/bolt/BoltExecutor.java | 1 + .../src/jvm/org/apache/storm/executor/spout/SpoutExecutor.java | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/storm-client/src/jvm/org/apache/storm/executor/Executor.java b/storm-client/src/jvm/org/apache/storm/executor/Executor.java index ed900dc2dc5..a90e16c7f74 100644 --- a/storm-client/src/jvm/org/apache/storm/executor/Executor.java +++ b/storm-client/src/jvm/org/apache/storm/executor/Executor.java @@ -251,7 +251,6 @@ public ExecutorShutdown execute() throws Exception { String handlerName = componentId + "-executor" + executorId; Utils.SmartThread handlers = Utils.asyncLoop(this, false, reportErrorDie, Thread.NORM_PRIORITY, true, true, handlerName); - setupTicks(StatsUtil.SPOUT.equals(type)); LOG.info("Finished loading executor " + componentId + ":" + executorId); return new ExecutorShutdown(this, Lists.newArrayList(systemThreads, handlers), idToTask, receiveQueue, sendQueue); diff --git a/storm-client/src/jvm/org/apache/storm/executor/bolt/BoltExecutor.java b/storm-client/src/jvm/org/apache/storm/executor/bolt/BoltExecutor.java index 4e46dc50e71..8478a2c5a9d 100644 --- a/storm-client/src/jvm/org/apache/storm/executor/bolt/BoltExecutor.java +++ b/storm-client/src/jvm/org/apache/storm/executor/bolt/BoltExecutor.java @@ -87,6 +87,7 @@ public void init(Map idToTask) { } openOrPrepareWasCalled.set(true); LOG.info("Prepared bolt {}:{}", componentId, idToTask.keySet()); + setupTicks(false); setupMetrics(); } diff --git a/storm-client/src/jvm/org/apache/storm/executor/spout/SpoutExecutor.java b/storm-client/src/jvm/org/apache/storm/executor/spout/SpoutExecutor.java index c465338de62..59139b19a0d 100644 --- a/storm-client/src/jvm/org/apache/storm/executor/spout/SpoutExecutor.java +++ b/storm-client/src/jvm/org/apache/storm/executor/spout/SpoutExecutor.java @@ -128,6 +128,7 @@ public void expire(Long key, TupleInfo tupleInfo) { } openOrPrepareWasCalled.set(true); LOG.info("Opened spout {}:{}", componentId, idToTask.keySet()); + setupTicks(true); setupMetrics(); }