[ https://issues.apache.org/jira/browse/STORM-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14566965#comment-14566965 ]
ASF GitHub Bot commented on STORM-841: -------------------------------------- GitHub user HeartSaVioR opened a pull request: https://github.com/apache/storm/pull/569 STORM-841 Correct doc that OutputCollector is not thread-safe * Concepts.md: Correct document * Troubleshooting.md: Add stack trace for other NPE case caused by same issue ** Related to STORM-770 You can merge this pull request into a Git repository by running: $ git pull https://github.com/HeartSaVioR/storm STORM-841 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/storm/pull/569.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #569 ---- commit a6c46aec300001095fee6396ce8ffd4a0fd5783a Author: Jungtaek Lim <kabh...@gmail.com> Date: 2015-06-01T06:03:31Z STORM-841 Correct doc that OutputCollector is not thread-safe ---- > Thread-safeness of OutputCollector has documented contrary to two official > doc. > ------------------------------------------------------------------------------- > > Key: STORM-841 > URL: https://issues.apache.org/jira/browse/STORM-841 > Project: Apache Storm > Issue Type: Documentation > Reporter: Jungtaek Lim > Priority: Critical > > There're some issues with documentation. > http://storm.apache.org/documentation/Concepts.html says > {quote} > Its perfectly fine to launch new threads in bolts that do processing > asynchronously. OutputCollector is thread-safe and can be called at any time. > {quote} > and http://storm.apache.org/documentation/Troubleshooting.html says > {quote} > This is caused by having multiple threads issue methods on the > OutputCollector. All emits, acks, and fails must happen on the same thread. > One subtle way this can happen is if you make a IBasicBolt that emits on a > separate thread. IBasicBolt's automatically ack after execute is called, so > this would cause multiple threads to use the OutputCollector leading to this > exception. When using a basic bolt, all emits must happen in the same thread > that runs execute. > {quote} > It is a contradiction, and at least for now OutputCollector is not > thread-safe. > https://www.mail-archive.com/dev@storm.incubator.apache.org/msg00939.html > Since newbie of Storm users may think Concepts page as "should read and keep > it mind", it is some kind of critical that that such important documentation > page has wrong content. -- This message was sent by Atlassian JIRA (v6.3.4#6332)