From 2621b4c7686d2e4ed5a77083a9dfc0a1a7ef0565 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 18 Nov 2019 12:28:53 +0300 Subject: [PATCH] Feature - checkSlotsCoverage setting added to cluster config. #2284 --- .../cluster/ClusterConnectionManager.java | 6 +++--- .../redisson/config/ClusterServersConfig.java | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java index 9246a7a11..a5cb586bd 100644 --- a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java +++ b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java @@ -168,12 +168,12 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { } } - if (lastPartitions.size() != MAX_SLOT) { + if (cfg.isCheckSlotsCoverage() && lastPartitions.size() != MAX_SLOT) { stopThreads(); if (failedMasters.isEmpty()) { - throw new RedisConnectionException("Not all slots are covered! Only " + lastPartitions.size() + " slots are avaliable", lastException); + throw new RedisConnectionException("Not all slots covered! Only " + lastPartitions.size() + " slots are available", lastException); } else { - throw new RedisConnectionException("Not all slots are covered! Only " + lastPartitions.size() + " slots are avaliable. Failed masters according to cluster status: " + failedMasters, lastException); + throw new RedisConnectionException("Not all slots covered! Only " + lastPartitions.size() + " slots are available. Failed masters according to cluster status: " + failedMasters, lastException); } } diff --git a/redisson/src/main/java/org/redisson/config/ClusterServersConfig.java b/redisson/src/main/java/org/redisson/config/ClusterServersConfig.java index d786b58c6..5a76a6fc2 100644 --- a/redisson/src/main/java/org/redisson/config/ClusterServersConfig.java +++ b/redisson/src/main/java/org/redisson/config/ClusterServersConfig.java @@ -41,6 +41,8 @@ public class ClusterServersConfig extends BaseMasterSlaveServersConfig(config.getNatMap())); + setCheckSlotsCoverage(config.isCheckSlotsCoverage()); } /** @@ -84,6 +87,23 @@ public class ClusterServersConfig extends BaseMasterSlaveServersConfig + * Default is false + * + * @param checkSlotsCoverage - boolean value + * @return config + */ + public ClusterServersConfig setCheckSlotsCoverage(boolean checkSlotsCoverage) { + this.checkSlotsCoverage = checkSlotsCoverage; + return this; + } + public Map getNatMap() { return natMap; }