Github user NicoK commented on a diff in the pull request: https://github.com/apache/flink/pull/4552#discussion_r161545040 --- Diff: flink-runtime/src/test/java/org/apache/flink/runtime/io/network/netty/PartitionRequestClientHandlerTest.java --- @@ -277,23 +277,31 @@ public void testNotifyCreditAvailable() throws Exception { handler.channelRead(mock(ChannelHandlerContext.class), bufferResponse1); handler.channelRead(mock(ChannelHandlerContext.class), bufferResponse2); - // The PartitionRequestClient is tied to PartitionRequestClientHandler currently, so we - // have to notify credit available in CreditBasedClientHandler explicitly - handler.notifyCreditAvailable(inputChannel1); - handler.notifyCreditAvailable(inputChannel2); - assertEquals(2, inputChannel1.getUnannouncedCredit()); assertEquals(2, inputChannel2.getUnannouncedCredit()); channel.runPendingTasks(); - // The two input channels should notify credits via writable channel + // The two input channels should send partition requests and then notify credits via writable channel assertTrue(channel.isWritable()); Object readFromOutbound = channel.readOutbound(); + assertThat(readFromOutbound, instanceOf(PartitionRequest.class)); + assertEquals(inputChannel1.getInputChannelId(), ((PartitionRequest) readFromOutbound).receiverId); + assertEquals(2, ((PartitionRequest) readFromOutbound).credit); + + readFromOutbound = channel.readOutbound(); + assertThat(readFromOutbound, instanceOf(PartitionRequest.class)); + assertEquals(inputChannel2.getInputChannelId(), ((PartitionRequest) readFromOutbound).receiverId); + assertEquals(2, ((PartitionRequest) readFromOutbound).credit); --- End diff -- Let's verify those two `PartitionRequest` messages above since `inputChannel1.getUnannouncedCredit());` kind of relies on those being send (if we change the `initialCredit` to be included in the `unannouncedCredit`).
---