flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tzu-Li (Gordon) Tai (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (FLINK-6772) Incorrect ordering of matched state events in Flink CEP
Date Tue, 30 May 2017 11:54:04 GMT

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

Tzu-Li (Gordon) Tai edited comment on FLINK-6772 at 5/30/17 11:53 AM:
----------------------------------------------------------------------

Hmm, I've did another check on this (using the code you posted), an had a very odd observation:

so, when the {{followedByAny}} state is called "end", then it outputs correctly to be {{[b-1,
b-2, b-3]}},
but for example when you rename it to be "middle", or "m" (some random data points here),
the result ordering is different.
I've only changed the second state's name, and nothing else.

Any clue what might be happening here? I know it sounds a bit bizzare :/
The tests are done with on fresh runs, not restored from checkpoint.


was (Author: tzulitai):
Hmm, I've did another check on this, an had a very odd observation:

so, when the {{followedByAny}} state is called "end", then it outputs correctly to be {{[b-1,
b-2, b-3]}},
but for example when you rename it to be "middle", or "m" (some random data points here),
the result ordering is different.

Any clue what might be happening here? I know it sounds a bit bizzare :/
The tests are done with on fresh runs, not restored from checkpoint.

> Incorrect ordering of matched state events in Flink CEP
> -------------------------------------------------------
>
>                 Key: FLINK-6772
>                 URL: https://issues.apache.org/jira/browse/FLINK-6772
>             Project: Flink
>          Issue Type: Bug
>          Components: CEP
>            Reporter: Tzu-Li (Gordon) Tai
>
> I've stumbled across an unexepected ordering of the matched state events. 
> Pattern:
> {code}
> Pattern<String, ?> pattern = Pattern
>     .<String>begin("start")
>         .where(new IterativeCondition<String>() {
>             @Override
>             public boolean filter(String s, Context<String> context) throws Exception
{
>                 return s.startsWith("a-");
>             }
>         }).times(4).allowCombinations()
>     .followedByAny("end")
>         .where(new IterativeCondition<String>() {
>             public boolean filter(String s, Context<String> context) throws Exception
{
>                 return s.startsWith("b-");
>             }
>     }).times(3).consecutive();
> {code}
> Input event sequence:
> a-1, a-2, a-3, a-4, b-1, b-2, b-3
> On b-3 a matched pattern would be triggered.
> Now, in the {{Map<String, List<IN>>}} map passed via {{select}} in {{PatternSelectFunction}},
the list for the "end" state is:
> b-3, b-1, b-2.
> Based on the timestamp of the events (simply using processing time), the correct order
should be b-1, b-2, b-3.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message