Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-841

Thread-safeness of OutputCollector has documented contrary to two official doc.

    XMLWordPrintableJSON

Details

    • Documentation
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 0.10.0, 0.9.6
    • 0.10.0, 0.9.6, 0.10.1
    • documentation
    • None

    Description

      There're some issues with documentation.

      http://storm.apache.org/documentation/Concepts.html says

      Its perfectly fine to launch new threads in bolts that do processing asynchronously. OutputCollector is thread-safe and can be called at any time.

      and http://storm.apache.org/documentation/Troubleshooting.html says

      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.

      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.

      Attachments

        Issue Links

          Activity

            People

              kabhwan Jungtaek Lim
              kabhwan Jungtaek Lim
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: