wsry commented on a change in pull request #18365: URL: https://github.com/apache/flink/pull/18365#discussion_r785620947
########## File path: flink-runtime/src/test/java/org/apache/flink/runtime/io/network/netty/PartitionRequestClientFactoryTest.java ########## @@ -112,6 +115,35 @@ public void testExceptionsAreNotCached() throws Exception { } } + @Test + public void testReuseNettyPartitionRequestClient() throws Exception { + NettyTestUtil.NettyServerAndClient nettyServerAndClient = createNettyServerAndClient(); + try { + checkReuseNettyPartitionRequestClient(nettyServerAndClient, 1); + checkReuseNettyPartitionRequestClient(nettyServerAndClient, 2); + checkReuseNettyPartitionRequestClient(nettyServerAndClient, 5); + checkReuseNettyPartitionRequestClient(nettyServerAndClient, 10); + } finally { + nettyServerAndClient.client().shutdown(); + nettyServerAndClient.server().shutdown(); + } + } + + private void checkReuseNettyPartitionRequestClient( + NettyTestUtil.NettyServerAndClient nettyServerAndClient, int maxNumberOfConnections) + throws Exception { + Set<NettyPartitionRequestClient> set = new HashSet<>(); + + final PartitionRequestClientFactory factory = + new PartitionRequestClientFactory( + nettyServerAndClient.client(), 0, maxNumberOfConnections); + for (int i = 0; i < Math.max(100, maxNumberOfConnections); i++) { + final ConnectionID connectionID = nettyServerAndClient.getConnectionID(i); + set.add(factory.createPartitionRequestClient(connectionID)); + } + assertEquals(maxNumberOfConnections, set.size()); Review comment: Maybe using a random connection index and replace this assertion with ```assertTrue(set.size() <= maxNumberOfConnections);``` which is more like the real case? In the current implementation, the selection of connection index value (1 - 100) and the modulus operation (%) guarantee that it can pass, but it seems that this case is not common enough. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org