Hi,

I am working on updating our infrastructure by upgrading Samza, Kafka and 
Hadoop(our container manager for samza).

I am upgrading from/to these versions:
Samza:    from 2.11-0.12.0 to 2.12-1.4.0
Kafka:      from 2.11-0.10.0.1 to 2.12-2.5.0
Hadoop:  from 2.7.2 to 2.9.2

After updating the versions on starting the Samza application I am getting the 
following error:

Exception in thread "main" java.lang.NoClassDefFoundError: 
kafka/common/TopicAndPartition
at 
org.apache.samza.system.kafka.KafkaSystemConsumer.toTopicAndPartition(KafkaSystemConsumer.java:317)
at 
org.apache.samza.system.kafka.KafkaSystemConsumer.register(KafkaSystemConsumer.java:284)
at 
org.apache.samza.coordinator.stream.CoordinatorStreamSystemConsumer.register(CoordinatorStreamSystemConsumer.java:130)
at 
org.apache.samza.util.CoordinatorStreamUtil$.writeConfigToCoordinatorStream(CoordinatorStreamUtil.scala:159)
at org.apache.samza.job.JobRunner.run(JobRunner.scala:80)
at org.apache.samza.job.JobRunner$.doOperation(JobRunner.scala:52)
at org.apache.samza.job.JobRunner$.main(JobRunner.scala:47)
at org.apache.samza.job.JobRunner.main(JobRunner.scala)
Caused by: java.lang.ClassNotFoundException: kafka.common.TopicAndPartition
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 8 more

On further checking I found that ‘KafkaSystemConsumer’ is part of 
samza-kafka_2.12-1.4.0.jar. And I looked into our deploy jars and I am finding 
only one copy of this class.
The reference class ‘TopicAndPartition’ is not present anywhere in the deploy 
jars or kafka_2.12-2.5.0 jar in particular.

I tried to find a Samza-Kafka version compatibility documentation. But I didn’t 
find any. On investigating our import of samza-kafka_2.12-1.4.0.jar, I found 
that it is including the kafka_2.12-2.5.0 dependency, which leads me to think 
that Samza should be compatible the Kafka version I am referencing.

I am also including all the required maven dependencies such as kafka, 
kafka-clients, samza-core, samza-api of these latest versions and made sure no 
other version of the same is present in my deploy jars.

Please let me know If I am missing something. And what can do to resolve this 
issue.

Thanks in Advance,
Suraj


Reply via email to