From cc4c5b25a090bac0ad93224c5de3fb3a7e619984 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Tue, 14 Dec 2021 12:05:13 +0300 Subject: [PATCH] Fixed - master node shouldn't be initialized as slave in single mode. #4011 --- .../java/org/redisson/connection/MasterSlaveEntry.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java b/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java index 16689e672..df1f7f5ff 100644 --- a/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java +++ b/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java @@ -448,9 +448,12 @@ public class MasterSlaveEntry { slaveDown(oldMaster.getClient().getAddr(), FreezeReason.MANAGER); // check if at least one slave is available, use master as slave if false - if (!config.checkSkipSlavesInit() - && slaveBalancer.getAvailableClients() == 0) { - slaveUp(newMasterClient.getAddr(), FreezeReason.SYSTEM); + if (!config.checkSkipSlavesInit()) { + if (slaveBalancer.getAvailableClients() == 0) { + slaveUp(newMasterClient.getAddr(), FreezeReason.SYSTEM); + } else { + slaveDown(newMasterClient.getAddr(), FreezeReason.SYSTEM); + } } oldMaster.shutdownAsync(); log.info("master {} has changed to {}", oldMaster.getClient().getAddr(), masterEntry.getClient().getAddr());