Debezium Oracle Connector fails: DmlParserException: DML statement couldn't be parsed.

195 views
Skip to first unread message

masami310

unread,
Dec 20, 2021, 12:26:36 AM12/20/21
to debezium
Hi,

I am getting the following error in our environment.
「DmlParserException: DML statement couldn't be parsed.」

The version of Debezium is 1.6.3.Final.
Is there any solution?
Thank you.

[Log details]
at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)
at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:243)
at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:63)
at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:160)
at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:122)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
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:834)\nCaused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: DML statement couldn't be parsed.

Please open a Jira issue with the statement
'update \"XXX01\".\"T003\"
  set \"XXADT\" = TO_DATE('2021-12-20 12:33:17', 'YYYY-MM-DD HH24:MI:SS'),
  \"XXBDT\" = TO_DATE('2021-12-20 12:33:17', 'YYYY-MM-DD HH24:MI:SS'),
  \"WXXID\" = '9999999999', \"WXXXLFL\" = '1'
 where \"WAAID\" = '9999999999'
   and \"WBBID\" = '9999999999'
   and \"WCCID\" = '9999999999'
   and \"WCCNM\" = 'あああ'
   <Omitted on the way>
   and \"XXADT\" = TO_DATE('2021-12-20 12:32:49', 'YYYY-MM-DD HH24:MI:SS')
   and \"XXBDT\" = TO_DATE('2021-12-13 20:23:33', 'YYYY-MM-DD HH24:MI:SS')
   and \"XXX\" = '1';'.
   
    You can set internal.log.mining.dml.parser='legacy' as a workaround until the parse error is fixed.
 
at io.debezium.connector.oracle.logminer.LogMinerQueryResultProcessor.parse(LogMinerQueryResultProcessor.java:407)
at io.debezium.connector.oracle.logminer.LogMinerQueryResultProcessor.lambda$processResult$0(LogMinerQueryResultProcessor.java:268)
at io.debezium.connector.oracle.logminer.TransactionalBuffer.lambda$registerDmlOperation$0(TransactionalBuffer.java:134)
at io.debezium.connector.oracle.logminer.TransactionalBuffer.registerEvent(TransactionalBuffer.java:535)
at io.debezium.connector.oracle.logminer.TransactionalBuffer.registerDmlOperation(TransactionalBuffer.java:134)
at io.debezium.connector.oracle.logminer.LogMinerQueryResultProcessor.processResult(LogMinerQueryResultProcessor.java:267)
at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:204)

... 8 more\nCaused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: DML parser requires a non-null table
at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parse(LogMinerDmlParser.java:70)
at io.debezium.connector.oracle.logminer.LogMinerQueryResultProcessor.parse(LogMinerQueryResultProcessor.java:397)
Message has been deleted

Gunnar Morling

unread,
Dec 22, 2021, 4:29:04 AM12/22/21
to debezium
Hi,

Could you please test with Debezium 1.8.0.Final? If the issue still is present there, can you please log an issue with the DDL statement in our Jira tracker, as suggested in the error message.

Thanks,

--Gunnar
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
0 new messages