From 9c19eda01d06f968dfda2e510c7b4e47da24a275 Mon Sep 17 00:00:00 2001 From: Nikita Date: Thu, 2 Nov 2017 16:58:15 +0300 Subject: [PATCH] Master should be disabled if any slave up. #1121 --- .../java/org/redisson/connection/MasterSlaveEntry.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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;