From ca80364e382a2db84032fd92297361695dea32b2 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Tue, 11 Apr 2023 11:57:01 +0300 Subject: [PATCH] refactoring --- .../connection/pool/ConnectionPool.java | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/redisson/src/main/java/org/redisson/connection/pool/ConnectionPool.java b/redisson/src/main/java/org/redisson/connection/pool/ConnectionPool.java index 10fd8dd6d..8e309fe21 100644 --- a/redisson/src/main/java/org/redisson/connection/pool/ConnectionPool.java +++ b/redisson/src/main/java/org/redisson/connection/pool/ConnectionPool.java @@ -77,31 +77,27 @@ abstract class ConnectionPool { return initConnections(entry, false); } - private CompletableFuture initConnections(ClientConnectionsEntry entry, boolean checkFreezed) { + private CompletableFuture initConnections(ClientConnectionsEntry entry, boolean checkFrozen) { int minimumIdleSize = getMinimumIdleSize(entry); - if (minimumIdleSize == 0 || (checkFreezed && entry.isFreezed())) { + if (minimumIdleSize == 0 || (checkFrozen && entry.isFreezed())) { return CompletableFuture.completedFuture(null); } CompletableFuture initPromise = new CompletableFuture<>(); AtomicInteger initializedConnections = new AtomicInteger(minimumIdleSize); - int startAmount = Math.min(1, minimumIdleSize); - AtomicInteger requests = new AtomicInteger(startAmount); - for (int i = 0; i < startAmount; i++) { - createConnection(checkFreezed, requests, entry, initPromise, minimumIdleSize, initializedConnections); - } + createConnection(checkFrozen, entry, initPromise, minimumIdleSize, initializedConnections); return initPromise; } - private void createConnection(boolean checkFreezed, AtomicInteger requests, ClientConnectionsEntry entry, + private void createConnection(boolean checkFrozen, ClientConnectionsEntry entry, CompletableFuture initPromise, int minimumIdleSize, AtomicInteger initializedConnections) { - if (checkFreezed && (entry.isFreezed() || !isHealthy(entry))) { + if (checkFrozen && (entry.isFreezed() || !isHealthy(entry))) { int totalInitializedConnections = minimumIdleSize - initializedConnections.get(); - Throwable cause = new RedisConnectionException( - "Unable to init enough connections amount! Only " + totalInitializedConnections + " of " + minimumIdleSize + " were initialized. Server: " - + entry.getClient().getAddr()); + Exception cause = new RedisConnectionException( + "Unable to init enough connections amount! Only " + totalInitializedConnections + + " of " + minimumIdleSize + " were initialized. Redis node info: " + entry); initPromise.completeExceptionally(cause); return; } @@ -151,7 +147,7 @@ abstract class ConnectionPool { errorMsg = "Unable to init enough connections amount! Only " + totalInitializedConnections + " of " + minimumIdleSize + " were initialized. Redis server: " + entry.getClient().getAddr(); } - Throwable cause = new RedisConnectionException(errorMsg, e); + Exception cause = new RedisConnectionException(errorMsg, e); initPromise.completeExceptionally(cause); return; } @@ -162,9 +158,7 @@ abstract class ConnectionPool { log.info("{} connections initialized for {}", minimumIdleSize, entry.getClient().getAddr()); } } else if (value > 0 && !initPromise.isDone()) { - if (requests.incrementAndGet() <= minimumIdleSize) { - createConnection(checkFreezed, requests, entry, initPromise, minimumIdleSize, initializedConnections); - } + createConnection(checkFrozen, entry, initPromise, minimumIdleSize, initializedConnections); } }); });