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

Aljoscha Krettek commented on FLINK-6007:
-----------------------------------------

Or we could duplicate the set of keys before iterating. This way, removal from 
the original set will be possible while iterating over the copy.

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