Hi I am upgrading an existing application using a kafka-client + Avro schemas to the following versions:
<avro.version>1.11.0</avro.version>
<confluent.version>6.2.1</confluent.version>
<spring-kafka.version>2.7.8</spring-kafka.version>
<kafka.version>2.8.1</kafka.version>
I’ve checked the compatibilities between the libraries and it seems correct but in runtime a producer which uses an avro schema throws an error while initializing:
Exception in thread "dba1a4-quotes-42" java.lang.NoSuchMethodError: org.apache.avro.Schema.toString(Ljava/util/Collection;Z)Ljava/lang/String;
at io.confluent.kafka.schemaregistry.avro.AvroSchema.canonicalString(AvroSchema.java:151)
at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.registerAndGetId(CachedSchemaRegistryClient.java:213)
at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.register(CachedSchemaRegistryClient.java:275)
at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.register(CachedSchemaRegistryClient.java:251)
at io.confluent.kafka.serializers.AbstractKafkaAvroSerializer.serializeImpl(AbstractKafkaAvroSerializer.java:103)
at io.confluent.kafka.serializers.KafkaAvroSerializer.serialize(KafkaAvroSerializer.java:61)
at org.apache.kafka.common.serialization.Serializer.serialize(Serializer.java:62)
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:925)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:885)
at brave.kafka.clients.TracingProducer.send(TracingProducer.java:129)
at org.springframework.kafka.core.DefaultKafkaProducerFactory$CloseSafeProducer.send(DefaultKafkaProducerFactory.java:864)
at org.springframework.kafka.core.KafkaTemplate.doSend(KafkaTemplate.java:580)
at org.springframework.kafka.core.KafkaTemplate.send(KafkaTemplate.java:386)
at nl.ing.securities.instruments.repository.MarkitTicksProducer.save
I am running confluent platform 6.2.1.
Any ideas what causes this error / how to fix it? I have tried changing avro versions but still same issue.