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

Till Rohrmann commented on FLINK-6319:
--------------------------------------

This would then mean that we cannot guarantee that the {{LocalBufferPool}} is 
only shut down after the latency marker emission timer task has been completed 
(even with a small timeout this could still happen, but is much less likely).

> Add timeout when shutting SystemProcessingTimeService down
> ----------------------------------------------------------
>
>                 Key: FLINK-6319
>                 URL: https://issues.apache.org/jira/browse/FLINK-6319
>             Project: Flink
>          Issue Type: Improvement
>          Components: Local Runtime
>    Affects Versions: 1.3.0
>            Reporter: Till Rohrmann
>            Priority: Minor
>
> A user noted that we simply call {{shutdownNow}} on the 
> {{SystemProcessingTimeService's}} {{ScheduledThreadpoolExecutor}} when 
> calling {{SystemProcessingTimeService.shutdownService}}. {{shutdowNow}} will 
> halt all waiting tasks but it won't wait until the currently running tasks 
> have been completed. This can lead to unwanted runtime behaviours such as 
> wrong termination orders when shutting down tasks (as reported in 
> https://issues.apache.org/jira/browse/FLINK-4973?focusedCommentId=15965884&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15965884).
> I propose to add a small timeout to wait for currently running tasks to 
> complete. Even though this problem cannot be completely solved since timer 
> tasks might take longer than the specified timeout, a timeout for waiting for 
> running tasks to complete will mitigate the problem.
> We can do this by calling {{timerServicer.awaitTermination(timeout, 
> timeoutUnit);}} after the {{shutdowNow}} call.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to