[
https://issues.apache.org/jira/browse/FLINK-6007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15903269#comment-15903269
]
Kostas Kloudas edited comment on FLINK-6007 at 3/9/17 4:04 PM:
---------------------------------------------------------------
True. This way we do not have to checkpoint the {{deletionSet}}.
Just as a "future" note. This introduces random accesses to the key set. So if
we make the set of keys spillable to disk, then this can be a problem (as with
the timers). Having an extra set that potentially fits in memory could be a
good solution. But again, this is for the future.
was (Author: kkl0u):
True. This way we do not have to checkpoint the {{deletionSet}}.
> ConcurrentModificationException in WatermarkCallbackService
> -----------------------------------------------------------
>
> Key: FLINK-6007
> URL: https://issues.apache.org/jira/browse/FLINK-6007
> Project: Flink
> Issue Type: Bug
> Components: DataStream API
> Affects Versions: 1.3.0
> Reporter: Kostas Kloudas
> Assignee: Kostas Kloudas
> Priority: Blocker
> Fix For: 1.3.0
>
>
> Currently, if an attempt is made to call
> {{InternalWatermarkCallbackService.unregisterKeyFromWatermarkCallback()}}
> from within the {{OnWatermarkCallback}}, a
> {{ConcurrentModificationException}} is thrown. The reason is that the
> {{invokeOnWatermarkCallback}} iterates over the list of keys and calls the
> callback for each one of them.
> To fix this, the deleted keys are put into a separate list, and the deletion
> happens after the iteration over all keys has finished.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)