Thomas Wozniakowski created FLINK-10570:
-------------------------------------------
Summary: State grows unbounded when "within" constraint not applied
Key: FLINK-10570
URL: https://issues.apache.org/jira/browse/FLINK-10570
Project: Flink
Issue Type: Bug
Components: CEP
Affects Versions: 1.6.1
Reporter: Thomas Wozniakowski
We have been running some failure monitoring using the CEP library. Simple
stuff that should probably have been implemented with a window, rather than
CEP, but we had already set the project up to use CEP elsewhere and it was
trivial to add this.
We ran the following pattern (on 1.4.2):
{code:java}
begin(PURCHASE_SEQUENCE, AfterMatchSkipStrategy.skipPastLastEvent())
.subtype(PurchaseEvent.class)
.times(100)
{code}
and then flat selected the responses if the failure ratio was over a certain
threshold.
With 1.6.1, the state size of the CEP operator for this pattern grows
unbounded, and eventually destroys the job with an OOM exception. We have many
CEP operators in this job but all the rest use a "within" call.
In 1.4.2, it seems events would be discarded once they were no longer in the
100 most recent, now it seems they are held onto indefinitely.
We have a workaround (we're just going to add a "within" call to force the CEP
operator to discard old events), but it would be useful if we could have the
old behaviour back.
Please let me know if I can provide any more information.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)