flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Ferrario (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-7606) CEP operator leaks state
Date Mon, 18 Sep 2017 13:21:00 GMT

    [ https://issues.apache.org/jira/browse/FLINK-7606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170001#comment-16170001
] 

Matteo Ferrario commented on FLINK-7606:
----------------------------------------

Hi [~kkl0u],
thanks for your reply.
If I understand correctly, in processing time the state of NestedMapsStateTable object is
never cleared, while in event time at each watermark it is checked the condition if the NFA
is empty and then state is cleared.
If this consideration is correct, the memory leak (in terms of NestedMapsStateTable that grows
up without been cleared) will not occur setting the stream time characteristic as event time:
{code:java}
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
{code}

On the other hand, this memory leak will occur setting the stream time characteristic as processing
time:
{code:java}
env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime);
{code}

Is it correct?

> CEP operator leaks state
> ------------------------
>
>                 Key: FLINK-7606
>                 URL: https://issues.apache.org/jira/browse/FLINK-7606
>             Project: Flink
>          Issue Type: Bug
>          Components: CEP
>    Affects Versions: 1.3.1
>            Reporter: Matteo Ferrario
>         Attachments: heap-dump1.png, heap-dump2.png, heap-dump3.png
>
>
> The NestedMapsStateTable grows up continuously without free the heap memory.
> We created a simple job that processes a stream of messages and uses CEP to generate
an outcome message when a specific pattern is identified.
> The messages coming from the stream are grouped by a key defined in a specific field
of the message.
> We've also added the "within" clause (set as 5 minutes), indicating that two incoming
messages match the pattern only if they come in a certain time window.
> What we've seen is that for every key present in the message, an NFA object is instantiated
in the NestedMapsStateTable and it is never deallocated.
> Also the "within" clause didn't help: we've seen that if we send messages that don't
match the pattern, the memory grows up (I suppose that the state of NFA is updated) but it
is not cleaned also after the 5 minutes of time window defined in "within" clause.
> If you need, I can provide more details about the job we've implemented and also the
screenshots about the memory leak.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message