Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-2103

DataException("Struct schemas do not match.") when recording cellData

    XMLWordPrintable

Details

    Description

      Encountered the DataException("Struct schemas do not match.") at CellData.record(schema) when the value of cellData is a struct. This is because the valueSchema passed-in for recording is optional, but the schema of value formed during deserialization is not.

      17:52:00.977 [pool-4-thread-3] ERROR i.d.c.c.CassandraConnectorTask - Encountered exception while running Change Event Queue Processor; stopping all processors in Cassandra Connector Task
      org.apache.kafka.connect.errors.DataException: Struct schemas do not match.
      	at org.apache.kafka.connect.data.ConnectSchema.validateValue(ConnectSchema.java:247) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at org.apache.kafka.connect.data.Struct.put(Struct.java:216) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at org.apache.kafka.connect.data.Struct.put(Struct.java:203) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.CellData.record(CellData.java:70) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.RowData.record(RowData.java:53) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.Record.buildValue(Record.java:87) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.KafkaRecordEmitter.toProducerRecord(KafkaRecordEmitter.java:64) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.KafkaRecordEmitter.emit(KafkaRecordEmitter.java:54) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.QueueProcessor.processEvent(QueueProcessor.java:97) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.QueueProcessor.process(QueueProcessor.java:59) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.AbstractProcessor.start(AbstractProcessor.java:61) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at io.debezium.connector.cassandra.CassandraConnectorTask$ProcessorGroup.lambda$start$0(CassandraConnectorTask.java:200) ~[debezium-connector-cassandra-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_231]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_231]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_231]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_231]
      	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_231]
      

      https://github.com/debezium/debezium-incubator/blob/master/debezium-connector-cassandra/src/main/java/io/debezium/connector/cassandra/CellData.java#L77

      https://github.com/debezium/debezium-incubator/blob/master/debezium-connector-cassandra/src/main/java/io/debezium/connector/cassandra/transforms/type/deserializer/UserTypeDeserializer.java#L50

      Attachments

        Activity

          People

            zhou.bing@husky.neu.edu Bingqin Zhou (Inactive)
            zhou.bing@husky.neu.edu Bingqin Zhou (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: