[ https://issues.apache.org/jira/browse/FLINK-6319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15979854#comment-15979854 ]
mingleizhang commented on FLINK-6319: ------------------------------------- +1 I have to say, the method of {code}shutdownNow{code}has it's limitation. > 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)