awslabs / aws-glue-schema-registry

AWS Glue Schema Registry Client library provides serializers / de-serializers for applications to integrate with AWS Glue Schema Registry Service. The library currently supports Avro, JSON and Protobuf data formats. See https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html to get started.
Apache License 2.0
126 stars 95 forks source link

Issue when extending Confluent's Kafka Connect Docker images #226

Open mng1dev opened 1 year ago

mng1dev commented 1 year ago

Hi,

I am trying to install the Avro Converter inside the connect docker image by extending it. To do so, I am using the following command in the dockerfile:

ENV GLUE_SCHEMA_REGISTRY_VERSION="1.1.14"

RUN wget -O /usr/share/java/schema-registry-kafkaconnect-converter.jar "https://repo1.maven.org/maven2/software/amazon/glue/schema-registry-kafkaconnect-converter/${GLUE_SCHEMA_REGISTRY_VERSION}/schema-registry-kafkaconnect-converter-${GLUE_SCHEMA_REGISTRY_VERSION}.jar" && \ cp /usr/share/java/schema-registry-kafkaconnect-converter.jar /usr/share/java/cp-base-new/ && \ cp /usr/share/java/schema-registry-kafkaconnect-converter.jar /etc/kafka-connect/jars/ && \ rm /usr/share/java/schema-registry-kafkaconnect-converter.jar

But when the worker launches, I am getting the following error:

ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectDistributed) java.lang.NoSuchMethodError: 'boolean org.apache.kafka.common.utils.Utils.isBlank(java.lang.String)' at org.apache.kafka.connect.runtime.WorkerConfig$ListenersValidator.ensureValid(WorkerConfig.java:429) at org.apache.kafka.common.config.ConfigDef$ConfigKey.(ConfigDef.java:1150) at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:152) at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:172) at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:211) at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.java:373) at org.apache.kafka.connect.runtime.WorkerConfig.baseConfigDef(WorkerConfig.java:252) at org.apache.kafka.connect.runtime.distributed.DistributedConfig.(DistributedConfig.java:196) at org.apache.kafka.connect.cli.ConnectDistributed.startConnect(ConnectDistributed.java:95) at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:80)

Which suggests that there is some kind of conflict with commons-lang3 library.

Is there a way to avoid this?

OneCricketeer commented 1 year ago

org.apache.kafka.common.utils.Utils is part of kafka-clients, not commons lang3

prachisr commented 11 months ago

Facing a similar issue. Do we have a thin jar available for use. The kafka-clients dependency breaks the timestampConverter transformation available in connector-transforms > 3.0.0.