Github user zhijiangW commented on a diff in the pull request: https://github.com/apache/flink/pull/4533#discussion_r153741304 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/consumer/RemoteInputChannel.java --- @@ -283,10 +283,13 @@ public String toString() { // ------------------------------------------------------------------------ /** - * Enqueue this input channel in the pipeline for sending unannounced credits to producer. + * Enqueue this input channel in the pipeline for notifying the producer of unannounced credit. */ void notifyCreditAvailable() { - //TODO in next PR + // We should skip the notification if this channel is already released. + if (!isReleased.get() && partitionRequestClient != null) { --- End diff -- Yes, the partition client is not set null explicitly when the channel is closed. But I am wondering it should be set null to avoid the released scenario. I will restore the `checkState` for the client as you suggested and it seems more reasonable currently.
---