Apurva Mehta created KAFKA-6053:
-----------------------------------
Summary: NoSuchMethodError when creating ProducerRecord in upgrade
system tests
Key: KAFKA-6053
URL: https://issues.apache.org/jira/browse/KAFKA-6053
Project: Kafka
Issue Type: Bug
Reporter: Apurva Mehta
Assignee: Apurva Mehta
This patch https://github.com/apache/kafka/pull/4029 used a new constructor for
{{ProducerRecord}} which doesn't exist in older clients. Hence system tests
which use older clients fail with:
{noformat}
Exception in thread "main" java.lang.NoSuchMethodError:
org.apache.kafka.clients.producer.ProducerRecord.<init>(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Object;Ljava/lang/Object;)V
at
org.apache.kafka.tools.VerifiableProducer.send(VerifiableProducer.java:232)
at
org.apache.kafka.tools.VerifiableProducer.run(VerifiableProducer.java:462)
at
org.apache.kafka.tools.VerifiableProducer.main(VerifiableProducer.java:500)
{"timestamp":1507711495458,"name":"shutdown_complete"}
{"timestamp":1507711495459,"name":"tool_data","sent":0,"acked":0,"target_throughput":10000,"avg_throughput":0.0}
amehta-macbook-pro:worker6 apurva$
{noformat}
A trivial fix is to only use the new constructor if a message create time is
explicitly passed to the VerifiableProducer, since older versions of the test
would never use it.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)