I’m not sure but I suspect this is more related to Kafka Connect than Schema Registry.
Did you try reading/writing values with plain Kafka (and using Schema Registry for the value serdes)?
From: regi...@googlegroups.com <regi...@googlegroups.com> On Behalf Of Pawel Ciesla
Sent: Tuesday, October 20, 2020 4:51 PM
To: Registry <regi...@googlegroups.com>
Subject: Schema Registry Kafka Connect Sink using JDBC to Oracle
Hi,
I have Kafka Streams application which process messages and write output to kafka Topic eg. "output-topic". Additionally this application registers the avro schema in schema registry.
Next I have the Kafka Connect Sink which I want to use to consume data from this "output-topic"and store them in Oracle DB, but I get below error.
Both Kafka Streams app and connector is using hortonworks libs of schema registry and serde. Please find the sink config below:
Do you have ideas why Struct schemas do not match. ?
Thanks in advanced!
Paweł Cieśla
at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.kafka.connect.errors.DataException: Struct schemas do not match. at org.apache.kafka.connect.data.ConnectSchema.validateValue(ConnectSchema.java:247) at org.apache.kafka.connect.data.Struct.put(Struct.java:216) at org.apache.kafka.connect.data.Struct.put(Struct.java:203) at com.cloudera.dim.kafka.connect.converts.AvroConnectTranslator.toConnectStruct(AvroConnectTranslator.java:335) at com.cloudera.dim.kafka.connect.converts.AvroConnectTranslator.toConnectData(AvroConnectTranslator.java:267) at com.cloudera.dim.kafka.connect.converts.AvroConnectTranslator.toConnectStruct(AvroConnectTranslator.java:335) at com.cloudera.dim.kafka.connect.converts.AvroConnectTranslator.toConnectData(AvroConnectTranslator.java:267) at com.cloudera.dim.kafka.connect.converts.AvroConverter.toConnectData(AvroConverter.java:97) at org.apache.kafka.connect.runtime.WorkerSinkTask.lambda$convertAndTransformRecord$1(WorkerSinkTask.java:514) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndRetry(RetryWithToleranceOperator.java:128) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:162)
{
"name": "output-topic-jdbc-sink",
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"tasks.max": "1",
"insert.mode": "insert",
"topics": "output-topic",
"connection.url": "#ORACLE_CONNECTION_URL#",
"connection.user": "#ORACLE_STAGE_USER#",
"connection.password": "#ORACLE_STAGE_PASSWORD#",
"dialect.name": "OracleDatabaseDialect",
"auto.create": "false",
"auto.evolve": "false",
"table.name.format": "OUTPUT_TABLE",
"value.converter": "com.cloudera.dim.kafka.connect.converts.AvroConverter",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter.schema.registry.url": "#SCHEMA_REGISTRY_URL#",
"value.converter.passthrough.enabled": "false",
"output.avro.passthrough.enabled": "false",
"db.timezone": "Europe/Belgrade",
"enhanced.avro.schema.support": "true"
}
--
You received this message because you are subscribed to the Google Groups "Registry" group.
To unsubscribe from this group and stop receiving emails from it, send an email to registry+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/registry/31abc962-ea16-434d-9cf4-2e42d6636389n%40googlegroups.com.