diff --git a/src/main/java/org/redisson/command/CommandAsyncService.java b/src/main/java/org/redisson/command/CommandAsyncService.java
index <HASH>..<HASH> 100644
--- a/src/main/java/org/redisson/command/CommandAsyncService.java
+++ b/src/main/java/org/redisson/command/CommandAsyncService.java
@@ -505,7 +505,7 @@ public class CommandAsyncService implements CommandAsyncExecutor {
     }
 
     private <V, R> void releaseConnection(NodeSource source, AsyncDetails<V, R> details, RedisConnection connection) {
-        if (details.getAttemptPromise().isCancelled()) {
+        if (!details.getConnectionFuture().isSuccess()) {
             return;
         }
Connection leak fixed. #<I>