From 87757fcd0ab11f6074999bd90a1ade3fc76771eb Mon Sep 17 00:00:00 2001 From: Nitin Date: Wed, 13 Jan 2016 16:04:15 +0530 Subject: [PATCH] keeping connectionBag.remove and totalConnections.decrementAndGet() close by --- src/main/java/com/zaxxer/hikari/pool/HikariPool.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java index 93d94ba0..6bb3e193 100644 --- a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java +++ b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java @@ -403,13 +403,12 @@ public class HikariPool extends PoolBase implements HikariPoolMXBean, IBagStateL final void closeConnection(final PoolEntry poolEntry, final String closureReason) { if (connectionBag.remove(poolEntry)) { - final Connection connection = poolEntry.connection; - poolEntry.close(); final int tc = totalConnections.decrementAndGet(); if (tc < 0) { LOGGER.warn("{} - Internal accounting inconsistency, totalConnections={}", poolName, tc, new Exception()); } - + final Connection connection = poolEntry.connection; + poolEntry.close(); closeConnectionExecutor.execute(new Runnable() { @Override public void run() {