I see you replied on https://stackoverflow.com/questions/48028061/flink-cep-greedy-matching
with a known bug issue on the https://issues.apache.org/jira/browse/FLINK-8914 In my case my pattern looks like Pattern<Event, Event> tripPattern = Pattern.<Event>begin("start").times(1).where(START_CONDITION) .followedBy("middle").where(MIDDLE_CONDITION).oneOrMore() .next("end").where(END_CONDITION); the end result being.. 1> 1,2,3,4, 4> 1,2,3,6,7,8,11,12, 1> 5,6,7,8,11,12, 3> 5,6,7,8,9, 2> 1,2,3,6,7,8,9, 2> 10,11,12, By using next operator I limit the end-terminating side but begin takes all possible solutions. -- Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/