flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Till Rohrmann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-3703) Add sequence matching semantics to discard matched events
Date Mon, 08 Aug 2016 10:26:20 GMT

    [ https://issues.apache.org/jira/browse/FLINK-3703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15411622#comment-15411622
] 

Till Rohrmann commented on FLINK-3703:
--------------------------------------

Hi [~ivan.mushketyk],

Yes you're right with your description of the matching behaviours. The list mustn't necessarily
be exhaustive. If you can think of other interesting matching behaviours, then you can add
them as well.

The matching semantics should be assigned to the pattern definition and then applied to each
sequence individually. For "after first" this would mean that you remove all elements of the
matched sequence from the shared buffer and all other elements which have the first element
as a predecessor (also transitively). I hope this makes things a bit clearer :-)

> Add sequence matching semantics to discard matched events
> ---------------------------------------------------------
>
>                 Key: FLINK-3703
>                 URL: https://issues.apache.org/jira/browse/FLINK-3703
>             Project: Flink
>          Issue Type: Improvement
>          Components: CEP
>    Affects Versions: 1.0.0, 1.1.0
>            Reporter: Till Rohrmann
>            Assignee: Ivan Mushketyk
>            Priority: Minor
>
> 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)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message