[ https://issues.apache.org/jira/browse/FLINK-24182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17411711#comment-17411711 ]
Arvid Heise commented on FLINK-24182: ------------------------------------- I also saw another source of interrupts. Not too sure on this one, but ideally for me, only the Interrupter interrupts and nothing else. {noformat} @Override protected void cancelTask() { if (stopped.compareAndSet(false, true)) { if (isFailing()) { interruptSourceThread(true); } cancelOperator(true); } } private void cancelOperator(boolean interruptThread) { try { if (mainOperator != null) { mainOperator.cancel(); } } finally { interruptSourceThread(interruptThread); } } private void interruptSourceThread(boolean interrupt) { // Nothing need to do if the source is finished on restore if (operatorChain != null && operatorChain.isFinishedOnRestore()) { return; } if (sourceThread.isAlive()) { if (interrupt) { sourceThread.interrupt(); } } else if (!sourceThread.getCompletionFuture().isDone()) { // source thread didn't start sourceThread.getCompletionFuture().complete(null); } } {noformat} > Tasks canceler should not immediately interrupt > ----------------------------------------------- > > Key: FLINK-24182 > URL: https://issues.apache.org/jira/browse/FLINK-24182 > Project: Flink > Issue Type: Improvement > Components: Runtime / Task > Reporter: Arvid Heise > Priority: Major > > While debugging resource leaks (FLINK-24131), I found that any connector is > immediately interrupted on cancel. Hence, any attempts of using blocking > calls in {{close}} to cleanup resources are immediately unreliable (e.g. > aborting transactions). > It would be nice if tasks get a grace period (e.g. > task.cancellation.interval) where they can try to free resources in a proper, > potentially blocking fashion before being interrupted. > Nevertheless, connectors should always expect interruptions during shutdown, > in particular when the user-configurable grace period is depleted. I'd add > that to the connector documentation in a separate effort. -- This message was sent by Atlassian Jira (v8.3.4#803005)