diff --git a/pom.xml b/pom.xml
index e4b71292ff..8065fb534b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.alibaba
druid
- 1.1.20_preview_08
+ 1.1.20_preview_09
jar
druid
diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java
index 2d030cb856..0452d80672 100644
--- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java
+++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java
@@ -1762,13 +1762,11 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
lock.unlock();
}
- if(holder != null && holder.getDataSource() != null) {
+ if(onFatalError && holder != null && holder.getDataSource() != null) {
ReentrantLock dataSourceLock = holder.getDataSource().lock;
dataSourceLock.lock();
try {
- if (poolingCount < minIdle) {
- emptySignal();
- }
+ emptySignal();
}
finally {
dataSourceLock.unlock();
@@ -3001,12 +2999,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
DruidConnectionHolder connection = connections[i];
if (onFatalError || fatalErrorIncrement > 0) {
- if (lastFatalErrorTimeMillis > connection.lastActiveTimeMillis) {
- keepAliveConnections[keepAliveCount++] = connection;
- continue;
- } else {
- break;
- }
+ keepAliveConnections[keepAliveCount++] = connection;
+ continue;
}
if (checkTime) {