diff --git a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java index cbc0fbf48..5ef663df5 100644 --- a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java +++ b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java @@ -943,7 +943,15 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { private Collection getLastPartitions() { return lastUri2Partition.values(); } - + + public int getSlot(MasterSlaveEntry entry) { + return lastPartitions.entrySet().stream() + .filter(e -> e.getValue().getMasterAddress().equals(entry.getClient().getConfig().getAddress())) + .findAny() + .map(m -> m.getKey()) + .orElse(-1); + } + @Override public RedisURI getLastClusterNode() { return lastClusterNode;