chia7712 commented on code in PR #16854:
URL: https://github.com/apache/kafka/pull/16854#discussion_r1713053084


##########
clients/src/test/java/org/apache/kafka/clients/admin/KafkaAdminClientTest.java:
##########
@@ -8206,16 +8223,25 @@ public void 
testCallFailWithUnsupportedVersionExceptionDoesNotHaveConcurrentModi
             // avoid sending fetchMetadata request
             doReturn(1L).when(metadataManager).metadataFetchDelayMs(anyLong());
 
-            env.kafkaClient().setNodeApiVersions(NodeApiVersions.create());
+            mockCLient.setNodeApiVersions(NodeApiVersions.create());
 
             try (KafkaAdminClient admin = KafkaAdminClient.createInternal(
-                    new AdminClientConfig(Collections.emptyMap()), 
metadataManager, env.kafkaClient(), env.time())) {
-                admin.describeCluster(new 
DescribeClusterOptions().timeoutMs(1000));
+                    new AdminClientConfig(Collections.emptyMap()), 
metadataManager, mockCLient, Time.SYSTEM)) {
+                DescribeClusterResult result = admin.describeCluster(new 
DescribeClusterOptions());
 
                 // make sure maybeDrainPendingCalls doesn't remove duplicate 
pending calls
                 // the listNodes call will be added again in call.fail and 
remove one in maybeDrainPendingCalls
-                TestUtils.waitForCondition(() -> 
env.kafkaClient().inFlightRequestCount() != 0,
+                TestUtils.waitForCondition(() -> 
mockCLient.inFlightRequestCount() != 0,
                         "Timed out waiting for listNodes request");
+
+                // after handleUnsupportedVersionException, describe cluster 
use MetadataRequest
+                ClientRequest request = mockCLient.requests().peek();
+                assertNotNull(request.apiKey());

Review Comment:
   both line 8239 and line 8240 could be replaced by 
`assertEquals(ApiKeys.METADATA, request.apiKey());`



##########
clients/src/test/java/org/apache/kafka/clients/admin/KafkaAdminClientTest.java:
##########
@@ -8206,16 +8223,25 @@ public void 
testCallFailWithUnsupportedVersionExceptionDoesNotHaveConcurrentModi
             // avoid sending fetchMetadata request
             doReturn(1L).when(metadataManager).metadataFetchDelayMs(anyLong());
 
-            env.kafkaClient().setNodeApiVersions(NodeApiVersions.create());
+            mockCLient.setNodeApiVersions(NodeApiVersions.create());
 
             try (KafkaAdminClient admin = KafkaAdminClient.createInternal(
-                    new AdminClientConfig(Collections.emptyMap()), 
metadataManager, env.kafkaClient(), env.time())) {
-                admin.describeCluster(new 
DescribeClusterOptions().timeoutMs(1000));
+                    new AdminClientConfig(Collections.emptyMap()), 
metadataManager, mockCLient, Time.SYSTEM)) {
+                DescribeClusterResult result = admin.describeCluster(new 
DescribeClusterOptions());
 
                 // make sure maybeDrainPendingCalls doesn't remove duplicate 
pending calls
                 // the listNodes call will be added again in call.fail and 
remove one in maybeDrainPendingCalls
-                TestUtils.waitForCondition(() -> 
env.kafkaClient().inFlightRequestCount() != 0,
+                TestUtils.waitForCondition(() -> 
mockCLient.inFlightRequestCount() != 0,
                         "Timed out waiting for listNodes request");
+
+                // after handleUnsupportedVersionException, describe cluster 
use MetadataRequest
+                ClientRequest request = mockCLient.requests().peek();
+                assertNotNull(request.apiKey());
+                assertEquals(ApiMessageType.METADATA, 
request.apiKey().messageType);
+
+                // clear active external request
+                mockCLient.respondToRequest(request, 
prepareMetadataResponse(cluster, Errors.NONE));
+                assertDoesNotThrow(() -> result.clusterId().get());

Review Comment:
   `assertEquals(cluster.clusterResource().clusterId(), assertDoesNotThrow(() 
-> result.clusterId().get()));`



##########
clients/src/test/java/org/apache/kafka/clients/admin/KafkaAdminClientTest.java:
##########
@@ -8191,7 +8192,23 @@ public void testListClientMetricsResourcesNotSupported() 
{
 
     @Test
     public void 
testCallFailWithUnsupportedVersionExceptionDoesNotHaveConcurrentModificationException()
 throws InterruptedException {
-        try (AdminClientUnitTestEnv env = new 
AdminClientUnitTestEnv(mockCluster(1, 0))) {
+        Cluster cluster = mockCluster(1, 0);
+        try (MockClient mockCLient = new MockClient(Time.SYSTEM, new 
MockClient.MockMetadataUpdater() {

Review Comment:
   `mockCLient` -> `mockClient`



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to