Doris查询,批量返回检索记录过程中jdbc超时

Viewed 33

jdbc:mysql://selectdb-xxx.xxx.xxx:9030/dwd?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=convertToNull&useCursorFetch=true&fetchSize=10000&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
使用seatunnel同步数据,通过以上jdbc连接串连接doris数据库查询一张大表,批量返回检索记录过程中超过一个小时,就会报以下错误,查询超时:
[INFO] 2024-09-29 16:10:14.315 +0800 - ->
2024-09-29 16:10:13,433 INFO [o.a.s.e.c.j.JobMetricsRunner ] [job-metrics-runner-892669327348596738] -
***********************************************
Job Progress Information
***********************************************
Job Id : 892669327348596738
Read Count So Far : 7785924
Write Count So Far : 7777728
Average Read Count : 1802/s
Average Write Count : 1802/s
Last Statistic Time : 2024-09-29 16:09:13
Current Statistic Time : 2024-09-29 16:10:13
***********************************************
Caused by: org.apache.seatunnel.engine.common.exception.SeaTunnelEngineException: org.apache.seatunnel.connectors.seatunnel.jdbc.exception.JdbcConnectorException: ErrorCode:[COMMON-08], ErrorDescription:[Sql operation failed, such as (execute,addBatch,close) etc...] - Couldn't read data - errCode = 2, detailMessage = query is timeout, killed by timeout checker
at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.JdbcInputFormat.nextRecord(JdbcInputFormat.java:156)
at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceReader.pollNext(JdbcSourceReader.java:69)
at org.apache.seatunnel.engine.server.task.flow.SourceFlowLifeCycle.collect(SourceFlowLifeCycle.java:156)
at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.collect(SourceSeaTunnelTask.java:116)
at org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:168)
at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.call(SourceSeaTunnelTask.java:121)
at org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:703)
at org.apache.seatunnel.engine.server.TaskExecutionService$NamedTaskWrapper.run(TaskExecutionService.java:1004)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.sql.SQLException: errCode = 2, detailMessage = query is timeout, killed by timeout checker
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1794)
at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.JdbcInputFormat.nextRecord(JdbcInputFormat.java:151)
... 12 more

	at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:194)
	... 2 more

请教一下是什么原因,是有什么参数控制吗?

1 Answers

这块看报错是SeaTunnel配置的报错吧,看看这里可以改吗
image.png