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/06/02 12:38:00 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=16499040#comment-16499040 ] 

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

Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6103#discussion_r192558687
  
    --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/deployment/InputChannelDeploymentDescriptor.java ---
    @@ -103,9 +103,7 @@ public String toString() {
     			// The producing task needs to be RUNNING or already FINISHED
     			if (consumedPartition.isConsumable() && producerSlot != null &&
     					(producerState == ExecutionState.RUNNING ||
    -						producerState == ExecutionState.FINISHED ||
    -						producerState == ExecutionState.SCHEDULED ||
    -						producerState == ExecutionState.DEPLOYING)) {
    --- End diff --
    
    Yes, I would say that we tackle this problem after we have removed the legacy code. For the moment, there is a work around to set the max backoff time higher for the data connections.


> 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: mingleizhang
>            Priority: Critical
>
> {{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)