DruidConnectionHolder里underlyingAutoCommit 出现false导致连接数泄露
- Dominant language
- Java
- Stars
- 28.2k
- Forks
- 8.6k
- PR merge metrics
- No merged PRs in 30d
Description
druid 1.2.18
mysql 8.0
jdk17
分析dump文件发现部分com.alibaba.druid.pool.DruidConnectionHolder里underlyingAutoCommit = false 而defaultAutoCommit =true。com.alibaba.druid.pool.DruidDataSource的activeConnections = java.util.IdentityHashMap#73 : 0 elements,可activeCount = 30。最终因为underlyingAutoCommit = false的DruidConnectionHolder不会提交事务,而导致连接数泄露
1.activeConnections 是空的,为什么activeCount 会是30呢?活跃连接在哪?
2.有什么办法以defaultAutoCommit 覆盖underlyingAutoCommit 吗?
Contributor guide
Research direction
Start by reproducing the reported state with druid 1.2.18, MySQL 8.0, and JDK 17, then inspect DruidConnectionHolder and DruidDataSource while comparing activeConnections with activeCount. Done means explaining where the 30 active connections are tracked and whether defaultAutoCommit can safely override underlyingAutoCommit without leaking connections.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mysql
- Domain
- backend, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100