Github user NicoK commented on a diff in the pull request: https://github.com/apache/flink/pull/4552#discussion_r162106371 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/io/network/netty/PartitionRequestServerHandler.java --- @@ -82,10 +83,17 @@ protected void channelRead0(ChannelHandlerContext ctx, NettyMessage msg) throws LOG.debug("Read channel on {}: {}.", ctx.channel().localAddress(), request); try { - SequenceNumberingViewReader reader = new SequenceNumberingViewReader( - request.receiverId, - request.credit, - outboundQueue); + NetworkSequenceViewReader reader; + if (request.credit > 0) { + reader = new CreditBasedSequenceNumberingViewReader( + request.receiverId, + request.credit, + outboundQueue); + } else { + reader = new SequenceNumberingViewReader( + request.receiverId, + outboundQueue); + } --- End diff -- This seems a bit hacky since it does not rely on the configuration parameter directly but rather on the affect it has, i.e. that a `PartitionRequest` in credit-based flow control always has a non-zero credit (due to `NetworkBufferPool#requestMemorySegments()`). Relying on the configuration parameter would be nicer, but alternatively, you could add a comment clarifying this.
---