[
https://issues.apache.org/jira/browse/FLINK-25695?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17497238#comment-17497238
]
Lyn Zhang commented on FLINK-25695:
-----------------------------------
If we create a KeyedMapState and add some elements in it, then foreach those
elements and remove all elements from KeyedMapState,
The KeyedMapState is empty but the key is still exists unless invoked clear()
to remove it.
This bug is caused by leftState and rightState join success and all elements in
those state removed, but the key is still exists in leftState and rightState
causing state leak[~wenlong.lwl]
> TemporalJoin cause state leak in some cases
> -------------------------------------------
>
> Key: FLINK-25695
> URL: https://issues.apache.org/jira/browse/FLINK-25695
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Runtime
> Affects Versions: 1.14.3
> Reporter: Lyn Zhang
> Priority: Major
> Labels: pull-request-available
> Attachments: image-2022-01-29-11-11-11-705.png,
> image-2022-01-29-11-11-27-550.png, image-2022-01-29-11-11-31-967.png,
> image-2022-01-29-11-12-43-016.png, test.sql
>
>
> Last year, I reported the similar bug of TemporalJoin cause state leak.
> Detail: FLINK-21833
> Recently, I found the fix code can reduce the the leak size but can not
> resolve it completely.
> The code of line 213 cause it and the right fix is to invoke cleanUp() method.
> In FLINK-21833, we discussed when the code is running on line 213, that means
> Left State, Right State, registeredTimerState is empty, actually the Left
> State and Right State value(MapState) is empty but the key is still be in
> state, So invoke state.clear() is necessary.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)