rondagostino commented on a change in pull request #10292:
URL: https://github.com/apache/kafka/pull/10292#discussion_r595639780



##########
File path: tests/kafkatest/tests/client/client_compatibility_features_test.py
##########
@@ -81,8 +81,12 @@ def __init__(self, test_context):
         self.kafka = KafkaService(test_context, num_nodes=3, zk=self.zk, 
topics=self.topics)
 
     def invoke_compatibility_program(self, features):
-        # Run the compatibility test on the first Kafka node.
-        node = self.kafka.nodes[0]
+        if self.zk:
+            # kafka nodes are set to older version so resolved script path is 
linked to older assembly.
+            # run the compatibility test on the first zk node to get script 
path linked to latest(dev) assembly.
+            node = self.zk.nodes[0]
+        else:
+            node = self.kafka.nodes[0]

Review comment:
       We can use the dev version of the tool on the Kafka node via code like 
this:
   ```
           node = self.kafka.nodes[0]
           cmd = ("%s org.apache.kafka.tools.ClientCompatibilityTest "
                  "--bootstrap-server %s "
                  "--num-cluster-nodes %d "
                  "--topic %s " % (self.dev_script_path,
                                  self.kafka.bootstrap_servers(),
                                  len(self.kafka.nodes),
                                  list(self.topics.keys())[0]))
   ```
   
   And then further down we can define the DEV script path like this:
   
   ```
           # Always use the latest version of 
org.apache.kafka.tools.ClientCompatibilityTest
           # so store away the path to the DEV version before we set the Kafka 
version
           self.dev_script_path = self.kafka.path.script("kafka-run-class.sh", 
self.kafka.nodes[0])
           self.kafka.set_version(KafkaVersion(broker_version))
   ```
   
   I tested this locally and it solves the problem.




----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to