diff --git a/src/main/java/org/redisson/misc/ConnectionPool.java b/src/main/java/org/redisson/misc/ConnectionPool.java index 9692cdbdb..b9e27a6b0 100644 --- a/src/main/java/org/redisson/misc/ConnectionPool.java +++ b/src/main/java/org/redisson/misc/ConnectionPool.java @@ -15,10 +15,8 @@ */ package org.redisson.misc; -import java.util.Deque; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; @@ -26,11 +24,11 @@ import org.redisson.MasterSlaveServersConfig; import org.redisson.client.RedisConnection; import org.redisson.client.RedisConnectionException; import org.redisson.client.protocol.RedisCommands; -import org.redisson.connection.ConnectionManager; -import org.redisson.connection.MasterSlaveEntry; import org.redisson.connection.ClientConnectionsEntry; import org.redisson.connection.ClientConnectionsEntry.FreezeReason; import org.redisson.connection.ClientConnectionsEntry.NodeType; +import org.redisson.connection.ConnectionManager; +import org.redisson.connection.MasterSlaveEntry; import io.netty.util.Timeout; import io.netty.util.TimerTask; @@ -42,8 +40,6 @@ public class ConnectionPool { protected final List entries = new CopyOnWriteArrayList(); - final Deque> promises = new LinkedBlockingDeque>(); - final ConnectionManager connectionManager; final MasterSlaveServersConfig config; @@ -54,17 +50,6 @@ public class ConnectionPool { this.config = config; this.masterSlaveEntry = masterSlaveEntry; this.connectionManager = connectionManager; - -// Executors.newSingleThreadScheduledExecutor().scheduleWithFixedDelay(new Runnable() { -// -// @Override -// public void run() { -// if (promises.size() > 0) { -// System.out.println("promises " + promises.size()); -// } -// -// } -// }, 1, 1, TimeUnit.SECONDS); } public void add(final ClientConnectionsEntry entry) { @@ -72,7 +57,6 @@ public class ConnectionPool { @Override public void run() { entries.add(entry); - handleQueue(entry, true); } }, true); } @@ -129,11 +113,8 @@ public class ConnectionPool { } RedisConnectionException exception = new RedisConnectionException( - "Can't aquire connection from pool"); + "Can't aquire connection from pool!"); return connectionManager.newFailedFuture(exception); -// Promise promise = connectionManager.newPromise(); -// promises.add(promise); -// return promise; } public Future get(ClientConnectionsEntry entry) { @@ -289,13 +270,10 @@ public class ConnectionPool { @Override public void run() { if (entry.getNodeType() == NodeType.SLAVE) { - handleQueue(entry, false); masterSlaveEntry.slaveUp(entry.getClient().getAddr().getHostName(), entry.getClient().getAddr().getPort(), FreezeReason.RECONNECT); } else { synchronized (entry) { if (entry.getFreezeReason() == FreezeReason.RECONNECT) { - handleQueue(entry, false); - entry.setFreezed(false); entry.setFreezeReason(null); } @@ -332,30 +310,6 @@ public class ConnectionPool { protected void releaseConnection(ClientConnectionsEntry entry) { entry.releaseConnection(); - - handleQueue(entry, true); - } - - private void handleQueue(ClientConnectionsEntry entry, boolean checkFreezed) { - while (true) { - if (checkFreezed && entry.isFreezed()) { - return; - } - Promise promise = promises.poll(); - if (promise == null) { - return; - } - if (promise.isCancelled()) { - continue; - } - - if (!tryAcquireConnection(entry)) { - promises.addFirst(promise); - } else { - connect(entry, promise); - } - return; - } } protected void releaseConnection(ClientConnectionsEntry entry, T conn) {