-
Bug
-
Resolution: Done
-
Major
-
1.3.0.Final, 1.3.1.Final, 1.4.0.Alpha1, 1.4.0.Alpha2
-
None
-
False
-
False
-
Undefined
-
A table that specifies a column that is DATE NOT NULL leads to:
2020-11-20 15:57:25,655 ERROR OracleConnectorIT||engine Error while trying to run connector class 'io.debezium.connector.oracle.OracleConnector' [io.debezium.connector.oracle.OracleConnectorIT]
org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.
at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)
at io.debezium.connector.oracle.logminer.TransactionalBuffer.lambda$commit$1(TransactionalBuffer.java:208)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: org.apache.kafka.connect.errors.ConnectException: Error while processing event at offset {commit_scn=1547591, transaction_id=null, scn=1547590}
at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:225)
at io.debezium.connector.oracle.logminer.LogMinerQueryResultProcessor.lambda$processResult$0(LogMinerQueryResultProcessor.java:201)
at io.debezium.connector.oracle.logminer.TransactionalBuffer.lambda$commit$1(TransactionalBuffer.java:198)
... 3 more
Caused by: org.apache.kafka.connect.errors.DataException: Invalid value: null used for required field: "REGISTERED", schema type: INT64
at org.apache.kafka.connect.data.ConnectSchema.validateValue(ConnectSchema.java:220)
at org.apache.kafka.connect.data.Struct.validate(Struct.java:233)
at org.apache.kafka.connect.data.ConnectSchema.validateValue(ConnectSchema.java:253)
at org.apache.kafka.connect.data.Struct.put(Struct.java:216)
at org.apache.kafka.connect.data.Struct.put(Struct.java:203)
at io.debezium.data.Envelope.create(Envelope.java:290)
at io.debezium.relational.RelationalChangeRecordEmitter.emitCreateRecord(RelationalChangeRecordEmitter.java:67)
at io.debezium.relational.RelationalChangeRecordEmitter.emitChangeRecords(RelationalChangeRecordEmitter.java:45)
at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:198)
Earlier in the log the following exception is thrown:
2020-11-20 15:57:15,519 ERROR OracleConnectorIT||engine Failed to properly convert data value for 'ORCLPDB1.DEBEZIUM.CUSTOMER.REGISTERED' of type DATE for row [10, Test, 1234.56, TO_DATE('2018-02-22 00:00:00', 'YYYY-MM-DD HH24:MI:SS')]: [io.debezium.relational.TableSchemaBuilder]
java.lang.IllegalArgumentException: Unexpected value for JDBC type 93 and column REGISTERED DATE NOT NULL: class=class java.lang.String
at io.debezium.jdbc.JdbcValueConverters.handleUnknownData(JdbcValueConverters.java:1247)
at io.debezium.jdbc.JdbcValueConverters.convertValue(JdbcValueConverters.java:1290)
at io.debezium.jdbc.JdbcValueConverters.convertTimestampToEpochMillis(JdbcValueConverters.java:460)
at io.debezium.connector.oracle.OracleValueConverters.convertTimestampToEpochMillis(OracleValueConverters.java:445)
at io.debezium.jdbc.JdbcValueConverters.lambda$converter$16(JdbcValueConverters.java:335)
at io.debezium.relational.TableSchemaBuilder.lambda$createValueGenerator$5(TableSchemaBuilder.java:264)
at io.debezium.relational.TableSchema.valueFromColumnData(TableSchema.java:141)
at io.debezium.relational.RelationalChangeRecordEmitter.emitCreateRecord(RelationalChangeRecordEmitter.java:66)
at io.debezium.relational.RelationalChangeRecordEmitter.emitChangeRecords(RelationalChangeRecordEmitter.java:45)
at io.debezium.pipeline.EventDispatcher.dispatchDataChangeEvent(EventDispatcher.java:198)
at io.debezium.connector.oracle.logminer.LogMinerQueryResultProcessor.lambda$processResult$0(LogMinerQueryResultProcessor.java:201)
at io.debezium.connector.oracle.logminer.TransactionalBuffer.lambda$commit$1(TransactionalBuffer.java:198)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:832)