From b77a4e4bc1294c1df4bc4c799d9846ecf2785c69 Mon Sep 17 00:00:00 2001 From: Jerry Wu Date: Tue, 3 Aug 2021 16:41:38 -0700 Subject: [PATCH] Fix primary update condition for cluster mode. Signed-off-by: Jerry Wu --- .../java/org/redisson/cluster/ClusterConnectionManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java index 053a10828..5db187007 100644 --- a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java +++ b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java @@ -566,8 +566,8 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { continue; } masterFound = true; - // current master marked as failed - if (!newPart.isMasterFail() || newPart.getSlotsAmount() == 0) { + // skip the new master if it is marked as failed or has no slots + if (newPart.isMasterFail() || newPart.getSlotsAmount() == 0) { continue; } for (Integer slot : currentPart.getSlots()) { @@ -593,7 +593,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { break; } - if (!masterFound && newPart.getSlotsAmount() > 0) { + if (!masterFound && !newPart.isMasterFail() && newPart.getSlotsAmount() > 0) { addedPartitions.put(newPart.getMasterAddress(), newPart); } }