From 620f66b04ec2527193ed0adbadf8c121709e70e8 Mon Sep 17 00:00:00 2001 From: f Date: Tue, 29 Jun 2021 15:49:57 +0800 Subject: [PATCH] fix https://github.com/redisson/redisson/issues/3695 Signed-off-by: f --- .../org/redisson/cluster/ClusterConnectionManager.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java index 56425310a..053a10828 100644 --- a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java +++ b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java @@ -699,6 +699,13 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { if (!removedSlots.isEmpty()) { log.info("{} slots removed from {}", removedSlots.cardinality(), currentPartition.getMasterAddress()); } + + if (!addedSlots.isEmpty() || !removedSlots.isEmpty()) { + // https://github.com/redisson/redisson/issues/3695, slotRanges not update when slots of node changed. + Set slotRanges = currentPartition.getSlotRanges(); + slotRanges.clear(); + slotRanges.addAll(newPartition.getSlotRanges()); + } break; } }