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

Anchoring emit in JavaScript only works with exactly one anchor

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0, 1.1.0
    • Component/s: storm-multilang
    • Labels:
      None

      Description

      org.apache.storm.task.ShellBolt.handleEmit method expects to find list of tuple ids from the message to anchor the emit to.

      The storm.js function __emit can only handle case of specifying exactly one anchor. If none is specified the message will contain anchor list [undefined] and if multiple anchors are specified the message will contain nested anchor list [["anchor1", "anchor2"]].

      In the case of not anchoring to any the ShellBolt will throw runtime exception when ConcurrentHashMap tries to call .hashCode() on null. In the case of multiple anchors the ShellBolt will probably throw some cast error because the anchor array cannot be cast to List<String> (did not test).

      The fix should be made in storm.js

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                EitZei Antti Järvinen
                Reporter:
                EitZei Antti Järvinen
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h