---------------------------------------------------------------------------------------------------------------------------------------------
org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.\n\tat io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:67)\n\tat io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:264)\n\tat io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:62)\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:324)\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:840)\nCaused by: io.debezium.DebeziumException: Oracle failed to re-construct redo SQL 'update \"IFADMIN\".\"UNITS\" set \"COL 2\" = HEXTORAW('c102'), \"COL 3\" = HEXTORAW('787d071d083503'), \"COL 4\" = HEXTORAW('c102'), \"COL 5\" = HEXTORAW('3e6466'), \"COL 6\" = HEXTORAW('3031323032353036313631323236303930303030303133383530323938'), \"COL 7\" = NULL, \"COL 8\" = NULL, \"COL 9\" = HEXTORAW('c504400b475b'), \"COL 10\" = NULL, \"COL 11\" = HEXTORAW('c6025c1d074002'), \"COL 12\" = HEXTORAW('c6025e4a404502'), \"COL 13\" = HEXTORAW('c104'), \"COL 14\" = HEXTORAW('787d0610063b1c'), \"COL 15\" = NULL, \"COL 16\" = NULL, \"COL 17\" = HEXTORAW('c504400b475b'), \"COL 18\" = HEXTORAW('37'), \"COL 19\" = NULL, \"COL 20\" = HEXTORAW('c6025c1d074002'), \"COL 21\" = HEXTORAW('37') where \"COL 1\" = HEXTORAW('c6025c1d074702') and \"COL 2\" = HEXTORAW('c102') and \"COL 3\" = HEXTORAW('787d061007052b') and \"COL 4\" = HEXTORAW('c102') and \"COL 5\" = HEXTORAW('3e6466') and \"COL 6\" = HEXTORAW('3031323032353036313631323236303930303030303133383530323938') and \"COL 7\" IS NULL and \"COL 8\" IS NULL and \"COL 9\" = HEXTORAW('c504400b475b') and \"COL 10\" IS NULL and \"COL 11\" = HEXTORAW('c6025c1d074002') and \"COL 12\" IS NULL and \"COL 13\" = HEXTORAW('c104') and \"COL 14\" = HEXTORAW('787d0610063b1c') and \"COL 15\" IS NULL and \"COL 16\" IS NULL and \"COL 17\" = HEXTORAW('c504400b475b') and \"COL 18\" = HEXTORAW('37') and \"COL 19\" IS NULL and \"COL 20\" = HEXTORAW('c6025c1d074002') and \"COL 21\" = HEXTORAW('37');'\n\tat io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.handleDataEvent(AbstractLogMinerEventProcessor.java:1312)\n\tat io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processRow(AbstractLogMinerEventProcessor.java:536)\n\tat io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processResults(AbstractLogMinerEventProcessor.java:442)\n\tat io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.process(AbstractLogMinerEventProcessor.java:290)\n\tat io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:243)\n\t... 9 more\n.
After some reading, i decided to change log.mining.strategy from online_catalog to hybrid and schema.mode.adjustment.mode: avro.
After some trials and errors the cdc for this table is still not working.
---------------------------------------------------------------------------------------------------------------------------------------------
2025-07-29 09:30:14,822 ERROR [zollnergroup-mes-cons|task-0] Mining session stopped due to error. (io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource) [debezium-oracleconnector-zollnergroup.mes-change-event-source-coordinator]
io.debezium.connector.oracle.logminer.parser.DmlParserException: DML statement couldn't be parsed. Please open a Jira issue with the statement 'insert into "IFADMIN"."UNITS"("IDENT","DB_ID","TSTAMP","STATES_ID","STATES_ID_CTR","BARCODE","NAME","DESCRIPTION","ORDERS_ID","JOINED_SPLIT","PREDECESSOR_ID","SUCCESSOR_ID","UNIT_STATUS_ID","START_TIME","END_TIME","VIEW_GRP_ID","EXT_ID","SEQUENCE","STATUSCODES_ID","PERMANENT_PREDECESSOR_ID","PERMANENT_SEQUENCE","UUID") values ('
19375667701','1',TO_DATE('2025-07-29 11:29:48', 'YYYY-MM-DD HH24:MI:SS'),'1','-1','01202507291365370000013886364',NULL,NULL,'367000290',NULL,NULL,NULL,'3',TO_DATE('2025-07-29 11:29:42', 'YYYY-MM-DD HH24:MI:SS'),NULL,NULL,'367000290',NULL,NULL,NULL,NULL,NULL);'.
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.parseDmlStatement(AbstractLogMinerEventProcessor.java:1686)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.lambda$handleDataEvent$28(AbstractLogMinerEventProcessor.java:1353)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.addToTransaction(AbstractLogMinerEventProcessor.java:1564)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.handleDataEvent(AbstractLogMinerEventProcessor.java:1352)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processRow(AbstractLogMinerEventProcessor.java:536)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processResults(AbstractLogMinerEventProcessor.java:442)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.process(AbstractLogMinerEventProcessor.java:290)
at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:243)
at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:62)
at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:324)
at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)
at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: Failed to parse insert DML: 'insert into "IFADMIN"."UNITS"("IDENT","DB_ID","TSTAMP","STATES_ID","STATES_ID_CTR","BARCODE","NAME","DESCRIPTION","ORDERS_ID","JOINED_SPLIT","PREDECESSOR_ID","SUCCESSOR_ID","UNIT_STATUS_ID","START_TIME","END_TIME","VIEW_GRP_ID","EXT_ID","SEQUENCE","STATUSCODES_ID","PERMANENT_PREDECESSOR_ID","PERMANENT_SEQUENCE","UUID") values ('
19375667701','1',TO_DATE('2025-07-29 11:29:48', 'YYYY-MM-DD HH24:MI:SS'),'1','-1','01202507291365370000013886364',NULL,NULL,'367000290',NULL,NULL,NULL,'3',TO_DATE('2025-07-29 11:29:42', 'YYYY-MM-DD HH24:MI:SS'),NULL,NULL,'367000290',NULL,NULL,NULL,NULL,NULL);'
at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parseInsert(LogMinerDmlParser.java:127)
at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parse(LogMinerDmlParser.java:80)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.parseDmlStatement(AbstractLogMinerEventProcessor.java:1680)
... 16 more
Caused by: java.lang.ArrayIndexOutOfBoundsException
2025-07-29 09:30:14,823 ERROR [zollnergroup-mes-cons|task-0] Producer failure (io.debezium.pipeline.ErrorHandler) [debezium-oracleconnector-zollnergroup.mes-change-event-source-coordinator]
io.debezium.connector.oracle.logminer.parser.DmlParserException: DML statement couldn't be parsed. Please open a Jira issue with the statement 'insert into "IFADMIN"."UNITS"("IDENT","DB_ID","TSTAMP","STATES_ID","STATES_ID_CTR","BARCODE","NAME","DESCRIPTION","ORDERS_ID","JOINED_SPLIT","PREDECESSOR_ID","SUCCESSOR_ID","UNIT_STATUS_ID","START_TIME","END_TIME","VIEW_GRP_ID","EXT_ID","SEQUENCE","STATUSCODES_ID","PERMANENT_PREDECESSOR_ID","PERMANENT_SEQUENCE","UUID") values ('
19375667701','1',TO_DATE('2025-07-29 11:29:48', 'YYYY-MM-DD HH24:MI:SS'),'1','-1','01202507291365370000013886364',NULL,NULL,'367000290',NULL,NULL,NULL,'3',TO_DATE('2025-07-29 11:29:42', 'YYYY-MM-DD HH24:MI:SS'),NULL,NULL,'367000290',NULL,NULL,NULL,NULL,NULL);'.
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.parseDmlStatement(AbstractLogMinerEventProcessor.java:1686)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.lambda$handleDataEvent$28(AbstractLogMinerEventProcessor.java:1353)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.addToTransaction(AbstractLogMinerEventProcessor.java:1564)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.handleDataEvent(AbstractLogMinerEventProcessor.java:1352)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processRow(AbstractLogMinerEventProcessor.java:536)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processResults(AbstractLogMinerEventProcessor.java:442)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.process(AbstractLogMinerEventProcessor.java:290)
at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:243)
at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:62)
at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:324)
at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)
at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: Failed to parse insert DML: 'insert into "IFADMIN"."UNITS"("IDENT","DB_ID","TSTAMP","STATES_ID","STATES_ID_CTR","BARCODE","NAME","DESCRIPTION","ORDERS_ID","JOINED_SPLIT","PREDECESSOR_ID","SUCCESSOR_ID","UNIT_STATUS_ID","START_TIME","END_TIME","VIEW_GRP_ID","EXT_ID","SEQUENCE","STATUSCODES_ID","PERMANENT_PREDECESSOR_ID","PERMANENT_SEQUENCE","UUID") values ('
19375667701','1',TO_DATE('2025-07-29 11:29:48', 'YYYY-MM-DD HH24:MI:SS'),'1','-1','01202507291365370000013886364',NULL,NULL,'367000290',NULL,NULL,NULL,'3',TO_DATE('2025-07-29 11:29:42', 'YYYY-MM-DD HH24:MI:SS'),NULL,NULL,'367000290',NULL,NULL,NULL,NULL,NULL);'
at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parseInsert(LogMinerDmlParser.java:127)
at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parse(LogMinerDmlParser.java:80)
at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.parseDmlStatement(AbstractLogMinerEventProcessor.java:1680)
... 16 more
Caused by: java.lang.ArrayIndexOutOfBoundsException
I tried with event.processing.failure.handling.mode: warn.
With this setting, I can see that updates are being sent to kafka. Inserts, on the other hand, cause the error.
Interesting: Updates contain 21 columns, Inserts contain 22 columns.
I tried to manually correct the schema in the schema registry, but that also didn't work.