Uploaded image for project: 'Apache S4'
  1. Apache S4
  2. S4-142

Deep cloning for triggers is needed upon a new PE instance’s creation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.6
    • 0.7
    • None

    Description

      The createPE(String id) method in ProcessingElement returns a cloned instance of the prototype. However, the way an instance's triggers map is cloned is incorrect:

      pe.triggers = Maps.newHashMap(triggers);

      It's a shallow cloning; every instance shares the same trigger for a certain event type.

      Or, if the eventCount/lastTime in a trigger is shared across the instances by design, then checkAndUpdate() should be guarded to prevent parallel writing.

      Attachments

        Activity

          People

            Unassigned Unassigned
            kurttlin Kurtt.Lin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

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