Github user roshannaik commented on a diff in the pull request: https://github.com/apache/storm/pull/2502#discussion_r168033940 --- Diff: storm-client/src/jvm/org/apache/storm/executor/spout/SpoutOutputCollectorImpl.java --- @@ -22,19 +22,23 @@ import org.apache.storm.executor.TupleInfo; import org.apache.storm.spout.ISpout; import org.apache.storm.spout.ISpoutOutputCollector; +import org.apache.storm.tuple.AddressedTuple; import org.apache.storm.tuple.MessageId; import org.apache.storm.tuple.TupleImpl; import org.apache.storm.tuple.Values; -import org.apache.storm.utils.Utils; import org.apache.storm.utils.MutableLong; import org.apache.storm.utils.RotatingMap; +import org.apache.storm.utils.Utils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; import java.util.Random; +// Methods are not thread safe. Each thread expected to have a separate instance, or else synchronize externally --- End diff -- To nail down and document the concurrent emits semantics I had opened [STORM-2945](https://issues.apache.org/jira/browse/STORM-2945)
---