S3 sync connector error with schema registry

Getting below error, when I tried to start S3 sycn connector with schema registry. It works fine when schema registry is not invoked.

connect | java.lang.VerifyError: Bad return type
connect | Exception Details:
connect | Location:
connect | com/fasterxml/jackson/databind/cfg/MapperBuilder.streamFactory()Lcom/fasterxml/jackson/core/TokenStreamFactory; @7: areturn
connect | Reason:
connect | Type ‘com/fasterxml/jackson/core/JsonFactory’ (current frame, stack[0]) is not assignable to ‘com/fasterxml/jackson/core/TokenStreamFactory’ (from method signature)
connect | Current Frame:
connect | bci: @7
connect | flags: { }
connect | locals: { ‘com/fasterxml/jackson/databind/cfg/MapperBuilder’ }
connect | stack: { ‘com/fasterxml/jackson/core/JsonFactory’ }
connect | Bytecode:
connect | 0000000: 2ab4 0002 b600 08b0
connect |
connect | at com.fasterxml.jackson.databind.json.JsonMapper.builder(JsonMapper.java:114)
connect | at io.confluent.kafka.schemaregistry.utils.JacksonMapper.(JacksonMapper.java:26)
connect | at io.confluent.kafka.schemaregistry.client.rest.RestService.(RestService.java:155)
connect | at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.(CachedSchemaRegistryClient.java:158)
connect | at io.confluent.connect.avro.AvroConverter.configure(AvroConverter.java:73)
connect | at org.apache.kafka.connect.runtime.isolation.Plugins.newConverter(Plugins.java:277)
connect | at org.apache.kafka.connect.runtime.Worker.startTask(Worker.java:557)
connect | at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startTask(DistributedHerder.java:1421)
connect | at org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$getTaskStartingCallable$22(DistributedHerder.java:1434)
connect | at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

Please clarify what version of the Avro converter you’ve installed?

AVRO converter plugin version of 7.0.8

Have you tried others? The latest is 7.4.1

yes, i tried with latest versions, it still didn’t work. We figured out that the issue is with below jackson jars in the s3 sync plugin.

jackson-core-2.14.2.jar
jackson-databind-2.14.2.jar

We finally got it working after coping the jars from AVRO converter plugin version 7.0.1 to s3 sync connector plugin libs folder.

AVRO converter plugin version 7.0.1 has below version of jackson jars, which were working.

jackson-core-2.12.3.jar
jackson-databind-2.12.3.jar

Jackson has reported vulnerabilities in some versions, so lower versions would not be recommended, and S3 sink doesn’t need Jackson itself since those should already be on the Kafka classpath