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; }