You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Till Rohrmann (JIRA)" <ji...@apache.org> on 2017/04/19 07:47:41 UTC

[jira] [Updated] (FLINK-6319) Add timeout when shutting SystemProcessingTimeService down

     [ https://issues.apache.org/jira/browse/FLINK-6319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Till Rohrmann updated FLINK-6319:
---------------------------------
    Description: 
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.

  was:
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 FLINK-4973).

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.


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