Hey Frederico, let me pull in Dawid (cc'd) who works on CEP. He can probably clarify the expected behaviour here.
Best, Ufuk On Mon, Nov 6, 2017 at 12:06 PM, Federico D'Ambrosio <federico.dambro...@smartlab.ws> wrote: > Hi everyone, > > I wanted to ask if FlinkCEP in the following scenario is working as it > should, or I have misunderstood its functioning. > > I've got a keyedstream associated with the following pattern: > > Pattern[Event].begin("start").where(_.value >=100).oneOrMore > .notNext("end").where(_.value >=100).within(Time.minutes(30)) > > Considering a single key in the stream, for simplicity, I've got the > following sequence of events (using EventTime on the "time" field of the > json event): > > {value: 100, time: "2017-11-05 03:50:02.000"} > {value: 100, time: "2017-11-05 03:52:02.000"} > {value: 100, time: "2017-11-05 03:54:02.000"} > {value: 100, time: "2017-11-05 03:56:02.000"} // end of events within the 30 > minutes from the first event > {value: 100, time: "2017-11-05 06:00:02.000"} > > Now, when it comes to the select/flatselect function, I tried printing the > content of the pattern map and what I noticed is that, for example, the > first 2 events weren't considered in the same pattern as the map was like > the following: > > {start=[{value: 100, time: 2017-11-05 03:50:02.000}]} > {start=[{value: 100, time: 2017-11-05 03:52:02.000}]} > > Now, shouldn't they be in the same List, as they belong to the same > iterative pattern, defined with the oneOrMore clause? > > Thank you for your insight, > Federico D'Ambrosio