From bf039604e2afb09b766c05e175bbada002a1d585 Mon Sep 17 00:00:00 2001 From: Yako Date: Tue, 30 Jun 2015 11:32:31 +0800 Subject: [PATCH 1/3] bug fixed for CreateConnectionTask --- .../java/com/alibaba/druid/pool/DruidDataSource.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 147d7e560b..46712ac51b 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -1722,7 +1722,9 @@ public class DruidDataSource extends DruidAbstractDataSource } catch (SQLException ex) { lock.lock(); try { - createTaskCount--; + if (createScheduler != null) { + createTaskCount--; + } } finally { lock.unlock(); } @@ -1767,6 +1769,13 @@ public class DruidDataSource extends DruidAbstractDataSource try { lock.lockInterruptibly(); } catch (InterruptedException e2) { + LOG.error("interrupt: ", e2); + lock.lock(); + try { + createTaskCount--; + } finally { + lock.unlock(); + } break; } @@ -1806,6 +1815,7 @@ public class DruidDataSource extends DruidAbstractDataSource return; } + this.errorCount = 0; // reset errorCount createScheduler.schedule(this, timeBetweenConnectErrorMillis, TimeUnit.MILLISECONDS); return; } From 3934f9bec77e39a1746d9edd347055efc5d74b1f Mon Sep 17 00:00:00 2001 From: Yako Date: Tue, 30 Jun 2015 11:59:00 +0800 Subject: [PATCH 2/3] fix issue #872 --- src/main/java/com/alibaba/druid/pool/DruidDataSource.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 46712ac51b..388ae2b6f9 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -2036,7 +2036,11 @@ public class DruidDataSource extends DruidAbstractDataSource if (isLogAbandoned()) { StringBuilder buf = new StringBuilder(); - buf.append("abandon connection, open stackTrace\n"); + buf.append("abandon connection, owner thread: "); + buf.append(pooledConnection.getOwnerThread().getName()); + buf.append(", connected time nano: "); + buf.append(pooledConnection.getConnectedTimeNano()); + buf.append(", open stackTrace\n"); StackTraceElement[] trace = pooledConnection.getConnectStackTrace(); for (int i = 0; i < trace.length; i++) { From 11d2eb310bbf2ef33db611193fbbd56c6b7814a3 Mon Sep 17 00:00:00 2001 From: Yako Date: Tue, 30 Jun 2015 15:56:36 +0800 Subject: [PATCH 3/3] 1.0.15 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 42227a9377..e009d4ec0d 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ com.alibaba druid - 1.0.15-SNAPSHOT + 1.0.15 jar druid