# Upgrading clients and get exception: java.lang.NoSuchMethodError: org.apache.avro.Schema.toString

**URL:** <https://forum.confluent.io/t/upgrading-clients-and-get-exception-java-lang-nosuchmethoderror-org-apache-avro-schema-tostring/3279>\
**Category:** Schema Registry\
**Created:** [3 November 2021 20:41 UTC](https://forum.confluent.io/t/upgrading-clients-and-get-exception-java-lang-nosuchmethoderror-org-apache-avro-schema-tostring/3279 "2021-11-03T20:41:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmaia](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/mmaia/32/1066_2.png) [@mmaia](https://forum.confluent.io/u/mmaia)\
**Post date:** [3 November 2021 20:41 UTC](https://forum.confluent.io/t/upgrading-clients-and-get-exception-java-lang-nosuchmethoderror-org-apache-avro-schema-tostring/3279/1 "2021-11-03T20:41:28Z")

</div>

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:

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

---

<div class="post-metadata">

**Author:** ![ryokota](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/ryokota/32/3901_2.png) [@ryokota](https://forum.confluent.io/u/ryokota)\
**Post date:** [30 November 2021 16:42 UTC](https://forum.confluent.io/t/upgrading-clients-and-get-exception-java-lang-nosuchmethoderror-org-apache-avro-schema-tostring/3279/2 "2021-11-30T16:42:42Z")

</div>

Most likely Spring is bringing in an older version of the Avro library. You will need to exclude it.
