Hi Team,
We host several debezium kafka connectors on our servers.
lately, because of a new procedure, We are facing the below error.
io.debezium.text.ParsingException: DDL statement couldn't be parsed. Please open a Jira issue with the statement '
CREATE DEFINER=`bankadmin`@`%` PROCEDURE `Get_Block_customer_prepaid_Reversal`()
BEGIN
select * from xyz where id =1
END
'
\nno viable alternative at input 'select * from xyz where id =1'
\n\tat io.debezium.antlr.ParsingErrorListener.syntaxError(ParsingErrorListener.java:43)
\n\tat org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
\n\tat org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:544)
\n\tat org.antlr.v4.runtime.DefaultErrorStrategy.reportNoViableAlternative(DefaultErrorStrategy.java:310)
\n\tat org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:136)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.querySpecification(MySqlParser.java:29764)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.selectStatement(MySqlParser.java:25248)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.dmlStatement(MySqlParser.java:1782)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.sqlStatement(MySqlParser.java:1253)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.sqlStatements(MySqlParser.java:1154)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.root(MySqlParser.java:918)
\n\tat io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:72)
\n\tat io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:45)
\n\tat io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:82)
\n\tat io.debezium.relational.history.AbstractDatabaseHistory.lambda$recover$1(AbstractDatabaseHistory.java:135)
\n\tat io.debezium.relational.history.KafkaDatabaseHistory.recoverRecords(KafkaDatabaseHistory.java:307)
\n\tat io.debezium.relational.history.AbstractDatabaseHistory.recover(AbstractDatabaseHistory.java:102)
\n\tat io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:49)
\n\tat io.debezium.connector.mysql.MySqlConnectorTask.validateAndLoadDatabaseHistory(MySqlConnectorTask.java:331)
\n\tat io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:103)
\n\tat io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:130)
\n\tat org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:232)
\n\tat org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:189)
\n\tat org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:238)
\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
\n\tat java.base/java.lang.Thread.run(Thread.java:829)\nCaused by: org.antlr.v4.runtime.NoViableAltException
\n\tat org.antlr.v4.runtime.atn.ParserATNSimulator.noViableAlt(ParserATNSimulator.java:2026)
\n\tat org.antlr.v4.runtime.atn.ParserATNSimulator.execATNWithFullContext(ParserATNSimulator.java:675)
\n\tat org.antlr.v4.runtime.atn.ParserATNSimulator.execATN(ParserATNSimulator.java:505)
\n\tat org.antlr.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:393)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.querySpecification(MySqlParser.java:29629)
\n\t... 23 more\nio.debezium.text.ParsingException: DDL statement couldn't be parsed. Please open a Jira issue with the statement
'CREATE DEFINER=`bankadmin`@`%` PROCEDURE `Get_Block_customer_prepaid_Reversal`()\nBEGIN\nselect * from xyz where id =1;
\nEND'\nextraneous input 'END' expecting {<EOF>, '--'}\n\tat io.debezium.antlr.ParsingErrorListener.syntaxError(ParsingErrorListener.java:43)
\n\tat org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
\n\tat org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:544)
\n\tat org.antlr.v4.runtime.DefaultErrorStrategy.reportUnwantedToken(DefaultErrorStrategy.java:377)
\n\tat org.antlr.v4.runtime.DefaultErrorStrategy.singleTokenDeletion(DefaultErrorStrategy.java:548)
\n\tat org.antlr.v4.runtime.DefaultErrorStrategy.sync(DefaultErrorStrategy.java:266)
\n\tat io.debezium.ddl.parser.mysql.generated.MySqlParser.root(MySqlParser.java:923)
\n\tat io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:72)
\n\tat io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.parseTree(MySqlAntlrDdlParser.java:45)
\n\tat io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:82)
\n\tat io.debezium.relational.history.AbstractDatabaseHistory.lambda$recover$1(AbstractDatabaseHistory.java:135)
\n\tat io.debezium.relational.history.KafkaDatabaseHistory.recoverRecords(KafkaDatabaseHistory.java:307)
\n\tat io.debezium.relational.history.AbstractDatabaseHistory.recover(AbstractDatabaseHistory.java:102)
\n\tat io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:49)
\n\tat io.debezium.connector.mysql.MySqlConnectorTask.validateAndLoadDatabaseHistory(MySqlConnectorTask.java:331)
\n\tat io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:103)
\n\tat io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:130)
\n\tat org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:232)
\n\tat org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:189)
\n\tat org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:238)
\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
\n\tat java.base/java.lang.Thread.run(Thread.java:829)\n
I tried adding the below params to the connector config
"schema.history.internal.store.only.captured.tables.ddl": "true",
"database.history.skip.unparseable.ddl": "true"
, which fixed this for a few days, But it failed again.
Please advise.
Hi,
I tried this solution but it failed again after 3 days of this.
It was happening again , We deleted the entire connector and created a new one.
This page mentions that adding "database.history.skip.unparseable.ddl": "true" is more of a hotfix.
This appears to have nothing to do with Confluence. Especially as you should never be looking at an Atlassian database, let alone running DDLs against it.
I suggest you ask in a forum related to whatever system you are using.