jdbc与group_commit的冲突

Viewed 43
    val conn = JdbcUtils.getJdbcConnection(s"${LocalConfig.DORIS_URL}",LocalConfig.DORIS_USER,LocalConfig.DORIS_PASSWORD)
    conn.setAutoCommit(false)
    val state = conn.createStatement()
    
    state.execute(s"""INSERT INTO `test_new`.`hw_sdk_role_payment`(`PACKAGE_ID`,`ROLE`) VALUES(123,'test') """.stripMargin)
    logger.info(s"完成")
    
    state.close()
    conn.close()

代码如上,当url使用group_commit的时候会报错,

2024-08-12 16:56:37,123 WARN (mysql-nio-pool-1814|230586) [StmtExecutor.executeByLegacy():882] execute Exception. stmt[181737, bf47e15af362468e-889be8a2e85b7ae3]
org.apache.doris.common.AnalysisException: errCode = 2, detailMessage = Syntax error in line 1:
COLUMNS (PACKAGE_ID,ROLE)
                    ^
Encountered: ROLE
Expected: ROLE is keyword, maybe `ROLE`

	at org.apache.doris.task.StreamLoadTask.setColumnToColumnExpr(StreamLoadTask.java:484) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.task.StreamLoadTask.setOptionalFromTSLPutRequest(StreamLoadTask.java:352) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.task.StreamLoadTask.fromTStreamLoadPutRequest(StreamLoadTask.java:326) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.planner.GroupCommitPlanner.(GroupCommitPlanner.java:107) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.analysis.NativeInsertStmt.planForGroupCommit(NativeInsertStmt.java:1251) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.handleInsertStmt(StmtExecutor.java:2018) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.executeByLegacy(StmtExecutor.java:834) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:534) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:478) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.ConnectProcessor.executeQuery(ConnectProcessor.java:265) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:183) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.MysqlConnectProcessor.handleQuery(MysqlConnectProcessor.java:176) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:205) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:258) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) ~[doris-fe.jar:1.2-SNAPSHOT]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_351]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_351]
	at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_351]
Caused by: org.apache.doris.common.AnalysisException: errCode = 2, detailMessage = Syntax error
	at org.apache.doris.analysis.SqlParser.unrecovered_syntax_error(SqlParser.java:2949) ~[doris-fe.jar:1.2-SNAPSHOT]
	at java_cup.runtime.lr_parser.parse(lr_parser.java:616) ~[jflex-1.4.3.jar:?]
	at org.apache.doris.common.util.SqlParserUtils.getFirstStmt(SqlParserUtils.java:46) ~[doris-fe.jar:1.2-SNAPSHOT]
	at org.apache.doris.task.StreamLoadTask.setColumnToColumnExpr(StreamLoadTask.java:473) ~[doris-fe.jar:1.2-SNAPSHOT]
	... 17 more

去掉group_commit则可以正常执行

1 Answers