Interestingly on my local machine I could not reproduce the problem, maybe it was some build issue on the other machine.
Have to investigate tomorrow :) Gyula Gyula Fóra <gyula.f...@gmail.com> ezt írta (időpont: 2016. szept. 7., Sze, 17:37): > Hi, > > I will try to get some minimal input to reproduce this. We were reading > events from Kafka so I might need some time. > > Thanks Till for looking into this > > Gyula > > Till Rohrmann <trohrm...@apache.org> ezt írta (időpont: 2016. szept. 7., > Sze, 17:34): > >> Hi Gyula, >> >> could you send us en example input which reproduces the problem? >> >> The underlying problem is that the system expects a state to be still >> stored in the `SharedBuffer` which has already been removed. This should >> actually not happen and it clearly indicates a bug. >> >> Cheers, >> Till >> >> On Wed, Sep 7, 2016 at 4:43 PM, Gyula Fóra <gyula.f...@gmail.com> wrote: >> >>> Hi guys, >>> >>> We tried building a simple pattern with the CEP library that matches 2 >>> events with 2 filter conditions (where) but we get a strange error that >>> comes from the stream operator: >>> >>> Pattern<Either<View, Click>, ?> viewAndClick = Pattern >>> .<Either<View,, Click>> begin("view") >>> .where(Either::isLeft) >>> .followedBy("click").where(Either::isRight) >>> .within(Time.hours(8)); >>> >>> CEP.pattern(stream, pattern).select(...); >>> >>> We get the following exception when running this: >>> java.lang.RuntimeException: Failure happened in filter function. >>> at org.apache.flink.cep.nfa.NFA.computeNextStates(NFA.java:318) >>> at org.apache.flink.cep.nfa.NFA.process(NFA.java:162) >>> at >>> org.apache.flink.cep.operator.KeyedCEPPatternOperator.processEvent(KeyedCEPPatternOperator.java:48) >>> at >>> org.apache.flink.cep.operator.AbstractCEPBasePatternOperator.processElement(AbstractCEPBasePatternOperator.java:72) >>> at >>> org.apache.flink.cep.operator.AbstractKeyedCEPPatternOperator.processElement(AbstractKeyedCEPPatternOperator.java:161) >>> at org.apache.flink.streaming.runtime.io >>> .StreamInputProcessor.processInput(StreamInputProcessor.java:176) >>> at >>> org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:66) >>> at >>> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:266) >>> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:584) >>> at java.lang.Thread.run(Thread.java:745) >>> Caused by: java.lang.IllegalStateException: Could not find previous >>> shared buffer entry with key: State(view, Normal, [ >>> StateTransition(TAKE, click, with filter), >>> StateTransition(IGNORE, view), >>> ]), value: Left(View[...]) and timestamp: 1473258371116. This can >>> indicate that the element belonging to the previous relation has been >>> already pruned, even though you expect it to be still there. >>> at org.apache.flink.cep.nfa.SharedBuffer.put(SharedBuffer.java:104) >>> at org.apache.flink.cep.nfa.NFA.computeNextStates(NFA.java:295) >>> ... 9 more >>> >>> Any ideas on what's going on here? >>> >>> Thanks, >>> Gyula >>> >>> >>> >>