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
>>>
>>>
>>>
>>

Reply via email to