Github user revans2 commented on a diff in the pull request:
https://github.com/apache/storm/pull/2502#discussion_r167328981
--- Diff:
storm-client/src/jvm/org/apache/storm/executor/spout/SpoutOutputCollectorImpl.java
---
@@ -44,14 +48,15 @@
private final Boolean isEventLoggers;
private final Boolean isDebug;
private final RotatingMap<Long, TupleInfo> pending;
+ private TupleInfo globalTupleInfo = new TupleInfo(); // thread
safety: assumes Collector.emit*() calls are externally synchronized (if needed).
--- End diff --
This feels like a good assumption for a spout, but I would like to
understand the cost of making this thread safe (thread local instance etc), and
at least document it if that cost is high, or preferably find a low cost
solution to throw an exception if it does happen.
---