You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/07/11 11:19:01 UTC

[jira] [Commented] (FLINK-9413) Tasks can fail with PartitionNotFoundException if consumer deployment takes too long

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

ASF GitHub Bot commented on FLINK-9413:
---------------------------------------

Github user RalphSu commented on the issue:

    https://github.com/apache/flink/pull/6103
  
    okey...
    
    I encounter issue when submit jobs, stack as below, looks the same with this one. Is this a regression, or are we thinking the fix will break existing code?
    
    
    
    org.apache.flink.runtime.io.network.partition.PartitionNotFoundException: Partition 1d986178ce506d4e3e71c4f6f61439b7@36897daa4a60b37dcae0973ba48a868b not found.
    	at org.apache.flink.runtime.io.network.partition.consumer.RemoteInputChannel.failPartitionRequest(RemoteInputChannel.java:270)
    	at org.apache.flink.runtime.io.network.partition.consumer.RemoteInputChannel.retriggerSubpartitionRequest(RemoteInputChannel.java:172)
    	at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.retriggerPartitionRequest(SingleInputGate.java:392)
    	at org.apache.flink.runtime.taskmanager.Task.onPartitionStateUpdate(Task.java:1300)
    	at org.apache.flink.runtime.taskmanager.Task.lambda$triggerPartitionProducerStateCheck$0(Task.java:1139)
    	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
    	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
    	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
    	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
    	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415)
    	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)



> Tasks can fail with PartitionNotFoundException if consumer deployment takes too long
> ------------------------------------------------------------------------------------
>
>                 Key: FLINK-9413
>                 URL: https://issues.apache.org/jira/browse/FLINK-9413
>             Project: Flink
>          Issue Type: Bug
>          Components: Distributed Coordination
>    Affects Versions: 1.4.0, 1.5.0, 1.6.0
>            Reporter: Till Rohrmann
>            Assignee: zhangminglei
>            Priority: Critical
>              Labels: pull-request-available
>
> {{Tasks}} can fail with a {{PartitionNotFoundException}} if the deployment of the producer takes too long. More specifically, if it takes longer than the {{taskmanager.network.request-backoff.max}}, then the {{Task}} will give up and fail.
> The problem is that we calculate the {{InputGateDeploymentDescriptor}} for a consuming task once the producer has been assigned a slot but we do not wait until it is actually running. The problem should be fixed if we wait until the task is in state {{RUNNING}} before assigning the result partition to the consumer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)