Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-3703

Add sequence matching semantics to discard matched events

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Implemented
    • Affects Version/s: 1.0.0, 1.1.0
    • Fix Version/s: 1.3.0
    • Component/s: CEP
    • Labels:
      None

      Description

      There is no easy way to decide whether events can be part of multiple matching sequences or not. Currently, the default is that an event can participate in multiple matching sequences. E.g. if you have the pattern Pattern.<Event>begin("a").followedBy("b") and the input event stream Event("A"), Event("B"), Event("C"), then you will generate the following matching sequences: Event("A"), Event("B"), Event("A"), Event("C") and Event("B"), Event("C").

      It would be useful to allow the user to define where the matching algorithm should continue after a matching sequence has been found. Possible option values could be

      • from first - continue keeping all events for future matches (that is the current behaviour)
      • after first - continue after the first element (remove first matching event and continue with the second event)
      • after last - continue after the last element (effectively discarding all elements of the matching sequence)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ivan.mushketyk Ivan Mushketyk
                Reporter:
                till.rohrmann Till Rohrmann
              • Votes:
                1 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: