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 27cf22f  STORM-3543 Change task hook info objects to use basic for 
loops to reduce garbage from iterators.
     new f1313c1  Merge pull request #3171 from cjljohnson/taskhookiterators
27cf22f is described below

commit 27cf22f1ddc0ef4768a2389e66fadec37bbe6569
Author: Christopher Johnson <[email protected]>
AuthorDate: Tue Nov 19 17:59:14 2019 +0000

    STORM-3543 Change task hook info objects to use basic for loops to reduce 
garbage from iterators.
---
 storm-client/src/jvm/org/apache/storm/hooks/info/BoltAckInfo.java | 7 +++++--
 .../src/jvm/org/apache/storm/hooks/info/BoltExecuteInfo.java      | 8 +++++---
 .../src/jvm/org/apache/storm/hooks/info/BoltFailInfo.java         | 7 +++++--
 storm-client/src/jvm/org/apache/storm/hooks/info/EmitInfo.java    | 5 +++--
 .../src/jvm/org/apache/storm/hooks/info/SpoutAckInfo.java         | 7 +++++--
 .../src/jvm/org/apache/storm/hooks/info/SpoutFailInfo.java        | 7 +++++--
 6 files changed, 28 insertions(+), 13 deletions(-)

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 class BoltAckInfo {
     }
 
     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 class BoltExecuteInfo {
     }
 
     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 class BoltFailInfo {
     }
 
     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 class EmitInfo {
     }
 
     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 class SpoutAckInfo {
     }
 
     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 class SpoutFailInfo {
     }
 
     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);
         }
     }
 }

Reply via email to