You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jiayi Liao (Jira)" <ji...@apache.org> on 2020/06/17 12:36:00 UTC

[jira] [Updated] (FLINK-18348) RemoteInputChannel should checkError before checking partitionRequestClient

     [ https://issues.apache.org/jira/browse/FLINK-18348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jiayi Liao updated FLINK-18348:
-------------------------------
    Description: 
The error will be set and \{{partitionRequestClient}} will be a null value if a remote channel fails to request the partition at the beginning. And the task will fail [here|https://github.com/apache/flink/blob/2150533ac0b2a6cc00238041853bbb6ebf22cee9/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java#L172] when the task thread trying to fetch data from channels.

And then we get error:


{code:java}
java.lang.IllegalStateException: Queried for a buffer before requesting a queue.
        at org.apache.flink.util.Preconditions.checkState(Preconditions.java:195) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.RemoteInputChannel.getNextBuffer(RemoteInputChannel.java:172) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.waitAndGetNextData(SingleInputGate.java:637) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.getNextBufferOrEvent(SingleInputGate.java:615) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.getNext(SingleInputGate.java:598) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
{code}

But the root cause is the error we set when requesting the partition.

  was:
The error will be set and \{{partitionRequestClient}} will be a null value if a remote channel fails to request the partition at the beginning. And the task will fail [here|https://github.com/apache/flink/blob/2150533ac0b2a6cc00238041853bbb6ebf22cee9/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java#L172] when the task thread trying to fetch data from channel.

And then we get error:


{code:java}
java.lang.IllegalStateException: Queried for a buffer before requesting a queue.
        at org.apache.flink.util.Preconditions.checkState(Preconditions.java:195) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.RemoteInputChannel.getNextBuffer(RemoteInputChannel.java:172) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.waitAndGetNextData(SingleInputGate.java:637) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.getNextBufferOrEvent(SingleInputGate.java:615) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
        at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.getNext(SingleInputGate.java:598) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
{code}

But the root cause is the error we set when requesting the partition.


> RemoteInputChannel should checkError before checking partitionRequestClient
> ---------------------------------------------------------------------------
>
>                 Key: FLINK-18348
>                 URL: https://issues.apache.org/jira/browse/FLINK-18348
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Network
>    Affects Versions: 1.10.1
>            Reporter: Jiayi Liao
>            Priority: Major
>
> The error will be set and \{{partitionRequestClient}} will be a null value if a remote channel fails to request the partition at the beginning. And the task will fail [here|https://github.com/apache/flink/blob/2150533ac0b2a6cc00238041853bbb6ebf22cee9/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java#L172] when the task thread trying to fetch data from channels.
> And then we get error:
> {code:java}
> java.lang.IllegalStateException: Queried for a buffer before requesting a queue.
>         at org.apache.flink.util.Preconditions.checkState(Preconditions.java:195) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
>         at org.apache.flink.runtime.io.network.partition.consumer.RemoteInputChannel.getNextBuffer(RemoteInputChannel.java:172) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
>         at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.waitAndGetNextData(SingleInputGate.java:637) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
>         at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.getNextBufferOrEvent(SingleInputGate.java:615) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
>         at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.getNext(SingleInputGate.java:598) ~[flink-dist_2.11-1.11-SNAPSHOT.jar:1.11-SNAPSHOT]
> {code}
> But the root cause is the error we set when requesting the partition.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)