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

Colon in streamId breaks topology visualization

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.3.1
    • 2.5.0
    • storm-webapp
    • None

    Description

      If a streamId contains a colon (":"), the Topology Visualization will be empty in the storm UI.

      The cause is a JavaScript error like the following (captured from storm-2.2.0 though the issue looks like it wouldn't be resolved in 2.3.1). The last bit after "unsupported pseudo" depends on the actual streamId. In the case that generated this, the streamId was "my:stream".

      Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: stream
          at Function.fb.error (jquery-1.11.1.min.js:2:12720)
          at PSEUDO (jquery-1.11.1.min.js:2:15641)
          at wb (jquery-1.11.1.min.js:2:20274)
          at fb.compile (jquery-1.11.1.min.js:2:21173)
          at fb.select (jquery-1.11.1.min.js:2:21853)
          at Function.fb [as find] (jquery-1.11.1.min.js:2:7352)
          at m.fn.init.find (jquery-1.11.1.min.js:2:23595)
          at String.<anonymous> (visualization.js:288:39)
          at Function.each (jquery-1.11.1.min.js:2:3027)
          at updateAvailableStreams (visualization.js:287:7)
      

      It looks like UIHelpers.sanitizeStreamName(String streamName) is intended to replace some characters (that presumably would break the visualization) with underscore ("_"). However, it allows the colons through even though they also break the visualization. It seems an easy fix might be to adjust that method so that it also replaces colons with underscores.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ben.roling Ben Roling
            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 - 3h 20m
                3h 20m