diff --git a/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java b/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java index fc9420ce4..2e8454121 100644 --- a/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java +++ b/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java @@ -47,6 +47,8 @@ public class SentinelServersConfig extends BaseMasterSlaveServersConfig + * Default is true + * + * @param checkSentinelsList - boolean value + * @return config + */ + public SentinelServersConfig setCheckSentinelsList(boolean checkSentinelsList) { + this.checkSentinelsList = checkSentinelsList; + return this; + } } diff --git a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java index 2e24e769f..8c5b4d5e1 100755 --- a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java +++ b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java @@ -166,9 +166,14 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { } } - if (sentinels.isEmpty()) { - stopThreads(); - throw new RedisConnectionException("At least two sentinels should be defined in Redis configuration! SENTINEL SENTINELS command returns empty result!"); + if (cfg.isCheckSentinelsList()) { + if (sentinels.isEmpty()) { + stopThreads(); + throw new RedisConnectionException("SENTINEL SENTINELS command returns empty result! Set checkSentinelsList = false to avoid this check."); + } else if (sentinels.size() < 2) { + stopThreads(); + throw new RedisConnectionException("SENTINEL SENTINELS command returns less than 2 nodes! At least two sentinels should be defined in Redis configuration. Set checkSentinelsList = false to avoid this check."); + } } if (currentMaster.get() == null) {