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

Reply via email to