From fde045100705364cc888b627e078014ef8eecace Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Thu, 24 Apr 2014 11:17:28 +0900 Subject: [PATCH] Fix issue #63 improper setting of null state during connection failure. --- src/main/java/com/zaxxer/hikari/HikariPool.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zaxxer/hikari/HikariPool.java b/src/main/java/com/zaxxer/hikari/HikariPool.java index 81154c6a..5131d7c0 100644 --- a/src/main/java/com/zaxxer/hikari/HikariPool.java +++ b/src/main/java/com/zaxxer/hikari/HikariPool.java @@ -67,6 +67,7 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener private final boolean isRegisteredMbeans; private final boolean isJdbc4ConnectionTest; private final long leakDetectionThreshold; + private final AtomicReference lastConnectionFailure; private final AtomicInteger totalConnections; private final Timer houseKeepingTimer; private final String catalog; @@ -74,7 +75,6 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener private final String password; private volatile boolean isShutdown; - private volatile AtomicReference lastConnectionFailure; private int transactionIsolation; private boolean isDebug; @@ -254,7 +254,7 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener sleepBackoff = (int) Math.min(1000f, ((float) sleepBackoff) * 1.5); if (getThreadsAwaitingConnection() == 0) { - lastConnectionFailure = null; + lastConnectionFailure.set(null); break; } continue;