request timed out after 1800008ms

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】OBCE-4.2.1
【问题描述】sql查询超时
【复现路径】
【附件及日志】

sql查询 超时:

Error querying database. Cause: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 1800008ms.

日志如下:

[ERROR] [2024-04-07 00:00:16,077] [Method]: org.springframework.boot.web.servlet.support.ErrorPageFilter.forwardToErrorPage(ErrorPageFilter.java:184)
Forwarding to error page from request [/interface/rest/daemonClient/getClientInstallInfo] due to exception [
### Error querying database.  Cause: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 1800008ms.
### The error may exist in class path resource [com/lemeng/mappings/softwareDistribution/SDDaemonPackageMgrMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select f_pkg_id id, f_name name, f_software_name softwareName, f_software_version softwareVersion,           f_type type, f_url url, DATE_FORMAT(f_upload_time,'%Y-%m-%d %H:%i:%s') uploadTime, f_software_arch softwareArch, f_remark remark,autoAssoc,autoUpload      from t_daemon_package ORDER BY type desc,DATE_FORMAT(f_upload_time,'%Y-%m-%d %H:%i:%s')
### Cause: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 1800008ms.
; HikariPool-1 - Connection is not available, request timed out after 1800008ms.; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 1800008ms.]
org.springframework.dao.TransientDataAccessResourceException: 
### Error querying database.  Cause: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 1800008ms.

想请问下,ob 有没有超时参数设置的?

看你的报错是连接池的日志,那应该从连接池修改配置,增加connectionTimeout:

YML配置示例:

spring:
  datasource:
    hikari:
      minimumIdle: 2
      maximumPoolSize: 10
      idleTimeout: 120000
      connectionTimeout: 300000
      leakDetectionThreshold: 300000

Java 配置示例:

HikariConfig config = new HikariConfig();
        config.setMaximumPoolSize(20);
        config.setConnectionTimeout(300000);
        config.setConnectionTimeout(120000);
        config.setLeakDetectionThreshold(300000);