From 1b6cc8cee0ddee17ced798b849ca0ca67327b198 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 6 May 2024 13:38:01 +0300 Subject: [PATCH] Fixed - Sentinels discovery is applied at Redisson startup if sentinelsDiscovery = true --- .../connection/SentinelConnectionManager.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java index acfff6084..a6244f3f0 100755 --- a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java +++ b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java @@ -144,19 +144,21 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { } } - List> sentinelSentinels = connection.sync(StringCodec.INSTANCE, RedisCommands.SENTINEL_SENTINELS, cfg.getMasterName()); - List> connectionFutures = new ArrayList<>(sentinelSentinels.size()); - for (Map map : sentinelSentinels) { - if (map.isEmpty()) { - continue; - } + List> connectionFutures = new LinkedList<>(); + if (cfg.isSentinelsDiscovery()) { + List> sentinelSentinels = connection.sync(StringCodec.INSTANCE, RedisCommands.SENTINEL_SENTINELS, cfg.getMasterName()); + for (Map map : sentinelSentinels) { + if (map.isEmpty()) { + continue; + } - String ip = map.get("ip"); - String port = map.get("port"); + String ip = map.get("ip"); + String port = map.get("port"); - InetSocketAddress sentinelAddr = resolveIP(ip, port).join(); - CompletionStage future = registerSentinel(sentinelAddr); - connectionFutures.add(future.toCompletableFuture()); + InetSocketAddress sentinelAddr = resolveIP(ip, port).join(); + CompletionStage future = registerSentinel(sentinelAddr); + connectionFutures.add(future.toCompletableFuture()); + } } CompletionStage f = registerSentinel(connection.getRedisClient().getAddr());