Merge pull request #3171 from cjljohnson/taskhookiterators
STORM-3543 Change task hook info objects to use basic for loops to reduce garbag…
diff --git a/storm-client/src/jvm/org/apache/storm/hooks/info/BoltAckInfo.java b/storm-client/src/jvm/org/apache/storm/hooks/info/BoltAckInfo.java
index 76f4314..3bfd501 100644
--- a/storm-client/src/jvm/org/apache/storm/hooks/info/BoltAckInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/hooks/info/BoltAckInfo.java
@@ -12,6 +12,8 @@
package org.apache.storm.hooks.info;
+import java.util.List;
+
import org.apache.storm.hooks.ITaskHook;
import org.apache.storm.task.TopologyContext;
import org.apache.storm.tuple.Tuple;
@@ -28,8 +30,9 @@
}
public void applyOn(TopologyContext topologyContext) {
- for (ITaskHook hook : topologyContext.getHooks()) {
- hook.boltAck(this);
+ List<ITaskHook> hooks = topologyContext.getHooks();
+ for (int i = 0; i < hooks.size(); i++) {
+ hooks.get(i).boltAck(this);
}
}
}
diff --git a/storm-client/src/jvm/org/apache/storm/hooks/info/BoltExecuteInfo.java b/storm-client/src/jvm/org/apache/storm/hooks/info/BoltExecuteInfo.java
index 8593527..9c5659e 100644
--- a/storm-client/src/jvm/org/apache/storm/hooks/info/BoltExecuteInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/hooks/info/BoltExecuteInfo.java
@@ -12,6 +12,8 @@
package org.apache.storm.hooks.info;
+import java.util.List;
+
import org.apache.storm.hooks.ITaskHook;
import org.apache.storm.task.TopologyContext;
import org.apache.storm.tuple.Tuple;
@@ -28,9 +30,9 @@
}
public void applyOn(TopologyContext topologyContext) {
- for (int i = 0; i < topologyContext.getHooks().size(); i++) { // perf critical loop. dont use iterators
- ITaskHook hook = topologyContext.getHooks().get(i);
- hook.boltExecute(this);
+ List<ITaskHook> hooks = topologyContext.getHooks();
+ for (int i = 0; i < hooks.size(); i++) {
+ hooks.get(i).boltExecute(this);
}
}
}
diff --git a/storm-client/src/jvm/org/apache/storm/hooks/info/BoltFailInfo.java b/storm-client/src/jvm/org/apache/storm/hooks/info/BoltFailInfo.java
index e9a0233..59c7e19 100644
--- a/storm-client/src/jvm/org/apache/storm/hooks/info/BoltFailInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/hooks/info/BoltFailInfo.java
@@ -12,6 +12,8 @@
package org.apache.storm.hooks.info;
+import java.util.List;
+
import org.apache.storm.hooks.ITaskHook;
import org.apache.storm.task.TopologyContext;
import org.apache.storm.tuple.Tuple;
@@ -28,8 +30,9 @@
}
public void applyOn(TopologyContext topologyContext) {
- for (ITaskHook hook : topologyContext.getHooks()) {
- hook.boltFail(this);
+ List<ITaskHook> hooks = topologyContext.getHooks();
+ for (int i = 0; i < hooks.size(); i++) {
+ hooks.get(i).boltFail(this);
}
}
}
diff --git a/storm-client/src/jvm/org/apache/storm/hooks/info/EmitInfo.java b/storm-client/src/jvm/org/apache/storm/hooks/info/EmitInfo.java
index 9f4b156..35d2256 100644
--- a/storm-client/src/jvm/org/apache/storm/hooks/info/EmitInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/hooks/info/EmitInfo.java
@@ -31,8 +31,9 @@
}
public void applyOn(TopologyContext topologyContext) {
- for (ITaskHook hook : topologyContext.getHooks()) {
- hook.emit(this);
+ List<ITaskHook> hooks = topologyContext.getHooks();
+ for (int i = 0; i < hooks.size(); i++) {
+ hooks.get(i).emit(this);
}
}
}
diff --git a/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutAckInfo.java b/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutAckInfo.java
index 9c39ba1..ac053be 100644
--- a/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutAckInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutAckInfo.java
@@ -12,6 +12,8 @@
package org.apache.storm.hooks.info;
+import java.util.List;
+
import org.apache.storm.hooks.ITaskHook;
import org.apache.storm.task.TopologyContext;
@@ -27,8 +29,9 @@
}
public void applyOn(TopologyContext topologyContext) {
- for (ITaskHook hook : topologyContext.getHooks()) {
- hook.spoutAck(this);
+ List<ITaskHook> hooks = topologyContext.getHooks();
+ for (int i = 0; i < hooks.size(); i++) {
+ hooks.get(i).spoutAck(this);
}
}
}
diff --git a/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutFailInfo.java b/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutFailInfo.java
index 80a2742..df7ef29 100644
--- a/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutFailInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/hooks/info/SpoutFailInfo.java
@@ -12,6 +12,8 @@
package org.apache.storm.hooks.info;
+import java.util.List;
+
import org.apache.storm.hooks.ITaskHook;
import org.apache.storm.task.TopologyContext;
@@ -27,8 +29,9 @@
}
public void applyOn(TopologyContext topologyContext) {
- for (ITaskHook hook : topologyContext.getHooks()) {
- hook.spoutFail(this);
+ List<ITaskHook> hooks = topologyContext.getHooks();
+ for (int i = 0; i < hooks.size(); i++) {
+ hooks.get(i).spoutFail(this);
}
}
}