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

Type mismatch in ReadClusterState's ProfileAction processing Map

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: 2.0.0, 1.0.3, 1.x
    • Fix Version/s: 2.0.0, 1.1.0, 1.0.4
    • Component/s: storm-core
    • Labels:
      None

      Description

      Discovered during reading STORM-2018's review comments:
      ReadClusterState.run() method loads all the profiling requests from Zk then filters the ones designated to that particular node it runs on.

      The filtered profiling requests are stored in a Map: Map<Integer, Set<TopoProfileAction>> on a per Slot basis.
      For some reason the TCP Port is serialized as i64/Long in NodeInfo, which is later used as a key in the Map.

      The Map.put is converted properly to Integer, but the Map.get does not, causing the lookups to report a miss in the filtered Map.

      This could cause TopoProfileActions ignored if one would send multiple TopoProfileActions through Zk.
      I don't think that could normally happen (using the UI), but the fix is trivial.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tibor.kiss@gmail.com Tibor Kiss
                Reporter:
                tibor.kiss@gmail.com Tibor Kiss
              • 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 - 50m
                  50m