New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
获取连接超时 #2130
Comments
maxWait太小了, 改成15000吧 |
@wendal maxWait是获取连接的最大等待时间,获取连接的时间应该很快吧,设置15000是不是太大了? |
建oracle连接的时候,有时候很慢 |
我这边也经常出现这个问题,怎么解决的 |
@wendal ERROR http-nio-8080-exec-105 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - wait millis 60015, active 2, maxActive 100, creating 1 |
@huangmaomao 是不是网络波动? mysql在同一个机器嘛? 话说,为啥这个issue会@我的呢?? |
其实你们想at的人是 @wenshao 吧, 虽然我也给druid提交过代码... 我做的是nutz系列的java框架 例如 https://github.com/nutzam/nutz 和 https://github.com/nutzam/nutzboot |
额,是在同一台机器上面@wenshao |
creating=1标识,在建立物理连接中,是不是数据库有什么问题导致建立连接很慢? |
数据库和服务是在一台机器上面的,数据可以正常连接访问,服务重启之后就可以拿到连接 |
@wenshao 网络带宽是2M的,之前有时候出现这个问题,我把版本更新到1.1.1之后用了二周,今天就频繁出现这个问题,重启服务也不行,数据库可以正常访问 |
买一个阿里云的rds试试? |
主要是什么原因引起的呢?这个是客户的阿里云服务器,要知道原因才好给客户建议 |
看不出,从报错看到的信息是物理连接在创建中 |
我出现这个问题!!连接池配置如下: Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 5258, active 120, maxActive 1000, creating 0The error may exist in com/qtec/router/server/dao/QtecRouterUserMapper.java (best guess)The error may involve com.qtec.router.server.dao.QtecRouterUserMapper.findUserByPhoneThe error occurred while executing a queryCause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 5258, active 120, maxActive 1000, creating 0
4 数据库本身设置的最大连接数为3000:SHOW VARIABLES like 'max_con%' 结果是3000 |
补充信息,当前使用版本是:
|
补充信息:数据库服务器打印出来的错误日志是: |
@wenshao 麻烦帮忙看一下 |
看是数据库挂了哦 |
@wenshao 数据库是正常服务啊,后续的请求没有问题!为什么连接数远没有达到最大值,拿不到空闲的连接,没有新建,而是等待空闲的 |
org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 20, creating 1The error may exist in class path resource [huijinhang/hms/mapper/externalagency/externalAgency_mapper.xml]The error may involve huijinhang.hms.repository.externalagency.ExternalAgencyRepository.getLastUpdateTimeForExternalAgencyTaskThe error occurred while executing a queryCause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 20, creating 1
active为0,还是抛出拿不到连接的异常,就突然出现那么几十次,然后又没出现过了 |
@lg84300329 能问下这个是怎么解决的吗? |
一樣的錯誤,wait millis 60000, active 0, maxActive 20, creating 0] with root cause,求問怎麽解決的。我連的是oracle。 |
同样遇到了active 0,Could not get JDBC connection的问题,数据库为postgresql,druid 版本:1.0.20。 |
@geeksun 你这个解决了吗。遇到一样的问题了。 |
网络断开 , 数据库重建连接池的代码在哪个地方呢 |
com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60004, active 150, maxActive 150 |
Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 30000, active 0, maxActive 10, creating 1 |
@wenshao我这边也经常报这类错误,请问有什么解决办法或者是排查思路吗?谢谢了 Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 10000, active 2, maxActive 500, creating 1, runningSqlCount 2###还有一个经常报Communications link failure错误,这个是网络问题吗? The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. |
同样遇到这个问题,怎么解决 |
又出现连接获取失败的问题了。 详情: |
我这也频繁的报这个问题 |
我也遇到过同样的问题,最后定位到是因为VPN开了全局代理导致的。 |
晚上预警出现问题,导致服务直接挂掉,报错日志:Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 10000, active 2, maxActive 200, creating 1, createElapseMillis 28505, runningSqlCount 1, 此外经常性出现: 配置: initial-size: 5
min-idle: 5
max-active: 200
max-wait: 10000
#test-while-idle: true
#validation-query: SELECT 1 FROM DUAL
test-on-borrow: false
test-on-return: false
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 15000
default-auto-commit: true
# 配置一个连接在池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 30000 |
Caused by: org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 5, maxActive 5, creating 0 同样遇到这个问题。。。。 |
升级 mysql-connector-java 到5.1.48,升级druid到 1.1.24版本之后,已经稳定运行了三周,再也没有出现这个错误了!!!!! |
我解决了这个问题,我这里的理由是由于设置了 设置这个的原因是我有些数据库是链接不上的,但是我不想总是打印出错误日志,druid这里的默认策略是,如果连不上数据库,会每隔30秒就是链接一次数据库 可以通过不断查询要链接的数据库,然后,中途停止数据库服务的,1,2分钟后,然后再启动起mysql,然后观察是否会获取不到链接的。 我觉得,即使设置了
版本信息
|
迁移服务器,又出现报错: |
druid 1.2.1,还是报错: |
@ruanjianershu 你解决了吗? |
@wendal 你确定是资源不足导致的问题吗 ? |
遇到同样的问题+1 呀 |
druid 1.1.1 报,Oracle库,数据库、机器网络都是没问题的 Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 30000, active 1, maxActive 200, creating 0请大佬们帮忙分析下 |
@YLDarren 开启 druid监控观察下看看 |
可以尝试将druid改成非公平模式 |
我也遇到同样的问题,在启动的时候会报错 |
重启之后就好了 |
我oracle数据库,经常偶发性的出现这个问题,每次重启之后又变好了。搞不清楚是应用的问题还是数据库的问题,应用和数据库我每个礼拜重启一次的。看数据库的awr日志又好像是更新的时候导致锁表的问题。真的不知道怎么解决 |
这种情况只能增加maxActive |
找到原因了,是应用的问题,应用在某个地方卡住一直不提交事务,我建议各位先排除应用的问题,然后设置一下数据库的超时执行时间,一旦超时就返回异常,保证不会一直占用链接,一般能解决这类问题。 |
Cause: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 100, creating 1, createElapseMillis 21704067, createErrorCount 2 druid 版本升级到了1.2.8 ,ojdbc8版本也是 12.2.0.1 ,但是还是出现,你们都是怎么解决的? |
您好,谢谢您的来信,我会尽快回复的~
|
一般是因为慢sql导致的链接池被占用,新请求无法获取到新的链接导致的,自己按照自己的业务提高maxwait time即可 |
您好,谢谢您的来信,我会尽快回复的~
|
@wendal 请帮忙看下,谢谢。
数据库运行正常,但是突然出现了获取连接超时的异常,异常堆栈信息:
Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 5, maxActive 200, creating 1
at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1422)
at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1241)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1221)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1211)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:105)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
The text was updated successfully, but these errors were encountered: