Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.3.0
Description
I've stumbled across an unexepected ordering of the matched state events.
Pattern:
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();
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.
Attachments
Issue Links
- links to