diff --git a/redisson/src/main/java/org/redisson/command/CommandAsyncService.java b/redisson/src/main/java/org/redisson/command/CommandAsyncService.java index 63bf367a8..4a18b10af 100644 --- a/redisson/src/main/java/org/redisson/command/CommandAsyncService.java +++ b/redisson/src/main/java/org/redisson/command/CommandAsyncService.java @@ -712,7 +712,6 @@ public class CommandAsyncService implements CommandAsyncExecutor { + ", command: " + command + ", command params: " + LogHelper.toString(details.getParams()) + " after " + details.getAttempt() + " retry attempts")); } - connectionManager.getShutdownLatch().release(); } else { if (details.getConnectionFuture().isSuccess()) { if (details.getWriteFuture() == null || !details.getWriteFuture().isDone()) { @@ -781,6 +780,7 @@ public class CommandAsyncService implements CommandAsyncExecutor { @Override public void operationComplete(Future connFuture) throws Exception { if (connFuture.isCancelled()) { + connectionManager.getShutdownLatch().release(); return; } diff --git a/redisson/src/main/java/org/redisson/command/CommandBatchService.java b/redisson/src/main/java/org/redisson/command/CommandBatchService.java index 9428179d7..4536e6f62 100644 --- a/redisson/src/main/java/org/redisson/command/CommandBatchService.java +++ b/redisson/src/main/java/org/redisson/command/CommandBatchService.java @@ -691,7 +691,6 @@ public class CommandBatchService extends CommandAsyncService { details.setException(new RedisTimeoutException("Unable to get connection! " + "Node source: " + source + " after " + attempts + " retry attempts")); } - connectionManager.getShutdownLatch().release(); } else { if (connectionFuture.isSuccess()) { if (details.getWriteFuture() == null || !details.getWriteFuture().isDone()) { @@ -859,6 +858,7 @@ public class CommandBatchService extends CommandAsyncService { RFuture connFuture, final boolean noResult, final long responseTimeout, final int attempts, ExecutionMode executionMode, final AtomicInteger slots) { if (connFuture.isCancelled()) { + connectionManager.getShutdownLatch().release(); return; }