diff --git a/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java b/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java index a461433c0..2fa947885 100644 --- a/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java +++ b/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java @@ -133,6 +133,11 @@ public class MasterSlaveEntry { return slaveDown(entry, freezeReason == FreezeReason.SYSTEM); } + + private void slaveDown(ClientConnectionsEntry entry, FreezeReason freezeReason) { + slaveBalancer.freeze(entry, freezeReason); + slaveDown(entry, freezeReason == FreezeReason.SYSTEM); + } private boolean slaveDown(ClientConnectionsEntry entry, boolean temporaryDown) { // add master as slave if no more slaves available @@ -350,7 +355,7 @@ public class MasterSlaveEntry { // exclude master from slaves if (!config.checkSkipSlavesInit() && (!addr.getAddress().getHostAddress().equals(naddress.getAddress().getHostAddress()) || naddress.getPort() != addr.getPort())) { - slaveDown(address, FreezeReason.SYSTEM); + slaveDown(masterEntry, FreezeReason.SYSTEM); log.info("master {} excluded from slaves", addr); } return true;