diff --git a/src/main/java/org/redisson/cluster/ClusterConnectionManager.java b/src/main/java/org/redisson/cluster/ClusterConnectionManager.java index 0d4aad380..9611514c0 100644 --- a/src/main/java/org/redisson/cluster/ClusterConnectionManager.java +++ b/src/main/java/org/redisson/cluster/ClusterConnectionManager.java @@ -70,7 +70,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { public ClusterConnectionManager(ClusterServersConfig cfg, Config config) { super(config); - connectListener = new ClusterConnectionListener(cfg.getReadMode() == ReadMode.SLAVE); + connectListener = new ClusterConnectionListener(cfg.getReadMode() != ReadMode.MASTER); this.config = create(cfg); init(this.config); diff --git a/src/main/java/org/redisson/connection/SentinelConnectionManager.java b/src/main/java/org/redisson/connection/SentinelConnectionManager.java index 2dfbced92..5d6a07fca 100755 --- a/src/main/java/org/redisson/connection/SentinelConnectionManager.java +++ b/src/main/java/org/redisson/connection/SentinelConnectionManager.java @@ -217,7 +217,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { final String slaveAddr = ip + ":" + port; // to avoid addition twice - if (slaves.putIfAbsent(slaveAddr, true) == null && config.getReadMode() == ReadMode.SLAVE) { + if (slaves.putIfAbsent(slaveAddr, true) == null && config.getReadMode() != ReadMode.MASTER) { Future future = getEntry(singleSlotRange.getStartSlot()).addSlave(ip, Integer.valueOf(port)); future.addListener(new FutureListener() { @Override @@ -278,11 +278,14 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { } private void slaveDown(String ip, String port) { - if (config.getReadMode() == ReadMode.SLAVE) { - getEntry(singleSlotRange.getStartSlot()).slaveDown(ip, Integer.valueOf(port), FreezeReason.MANAGER); + if (config.getReadMode() == ReadMode.MASTER) { + log.warn("slave: {}:{} has down", ip, port); + } else { + MasterSlaveEntry entry = getEntry(singleSlotRange.getStartSlot()); + if (entry.slaveDown(ip, Integer.valueOf(port), FreezeReason.MANAGER)) { + log.warn("slave: {}:{} has down", ip, port); + } } - - log.warn("slave: {}:{} has down", ip, port); } private void onNodeUp(URI addr, String msg) {