[ https://issues.apache.org/jira/browse/FLINK-6958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16072391#comment-16072391 ]
Aljoscha Krettek commented on FLINK-6958: ----------------------------------------- I just noticed this now but I have a few observations: - I seems to have been a conscious decision by [~StephanEwen] do "drop" any pending processing-time timers and shutdown the operator/task as fast as possible. The main motivation for this, I think, is that a task should terminate quickly in case we have a job failure and we need to shutdown tasks and bring them up again. - Blocking on the queue of promises when closing in general seems to run counter to this desire of quick shutdown. - Instead of manually blocking for the duration of the timeout a fix for this should be to make sure that remaining processing-time timers fire. This would be the more general solution. In general, I think dropping processing-time timers when a job shuts down is somewhat similar to data loss: a user did schedule a computation in the future that will output some data and we drop that. To reconcile this with the requirement of fast shutdown/restart in case of failures I think we need to have different shutdown paths. In case of a shutdown due to failure we drop everything and bring down as fast as possible. In case of a regular shutdown (because bounded sources finished) we need to make sure to flush out all remaining timers. This requires more discussion, though. What do you think? > Async I/O timeout not work > -------------------------- > > Key: FLINK-6958 > URL: https://issues.apache.org/jira/browse/FLINK-6958 > Project: Flink > Issue Type: Bug > Components: Streaming > Affects Versions: 1.2.1 > Reporter: feng xiaojie > Assignee: Jark Wu > > when use Async I/O with UnorderedStreamElementQueue, the queue will always > full if you don't call the AsyncCollector.collect to ack them. > Timeout shall collect these entries when the timeout trigger,but it isn't work > I debug find, > when time out, it will call resultFuture.completeExceptionally(error); > but not call UnorderedStreamElementQueue.onCompleteHandler > it will cause that async i/o hang always -- This message was sent by Atlassian JIRA (v6.4.14#64029)