alibaba / druid

阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
https://github.com/alibaba/druid/wiki
Apache License 2.0
27.92k stars 8.57k forks source link

从数据库获取连接 长时间等待 #1425

Open hongNickName opened 8 years ago

hongNickName commented 8 years ago

1.015版本,长时间未访问后,访问时从数据库获取连接时,执行isValidConnection长时间卡顿(15分钟)。

"nioEventLoopGroup-3-8" prio=10 tid=0x00007fcd00012800 nid=0x7d6f runnable [0x00007fcd6dbf3000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:152) at java.net.SocketInputStream.read(SocketInputStream.java:122) at oracle.net.ns.Packet.receive(Packet.java:282) at oracle.net.ns.DataPacket.receive(DataPacket.java:103) at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:230) at oracle.net.ns.NetInputStream.read(NetInputStream.java:175) at oracle.net.ns.NetInputStream.read(NetInputStream.java:100) at oracle.net.ns.NetInputStream.read(NetInputStream.java:85) at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:122) at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:78) at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1179) at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:279) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194) at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:853) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1259) at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1469)

zhangjianweibj commented 8 years ago

image 超时时间是可以设置的。另外你的物理连接是不是断开了

hongNickName commented 8 years ago

ok,生产环境,频发,DB定位不了问题

missvivia commented 7 years ago

该问题有解决吗, 我现在也遇到同样的问题,同样也是使用oracle数据库,一模一样的问题在连接闲置一段时间后再次使用的时候做validation check的时候会线程永久卡死。 druid版本 1.0.18

bwzheng2010 commented 6 years ago

我也遇到了,你们解决了吗?

chinadeng commented 5 years ago

我也碰到了,目前设置超时时间,具体为什么有这个原因 哪位知道?