diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java index 424cf4cb1..8af68fb3c 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java @@ -70,6 +70,7 @@ import org.springframework.util.Assert; * @author Tao Chen * @author Chen Guanqun * @author Pavel Khokhlov + * @author Liming Deng * @since 1.7 */ public class JedisClusterConnection implements DefaultedRedisClusterConnection { @@ -577,13 +578,10 @@ public class JedisClusterConnection implements DefaultedRedisClusterConnection { @Override public Map> clusterGetMasterSlaveMap() { - List>> nodeResults = clusterCommandExecutor - .executeCommandAsyncOnNodes((JedisClusterCommandCallback>) client -> { - - // TODO: remove client.eval as soon as Jedis offers support for myid - return JedisConverters.toSetOfRedisClusterNodes( - client.clusterSlaves((String) client.eval("return redis.call('cluster', 'myid')", 0))); - }, topologyProvider.getTopology().getActiveMasterNodes()).getResults(); + List>> nodeResults = clusterCommandExecutor.executeCommandAsyncOnNodes( + (JedisClusterCommandCallback>) client -> JedisConverters + .toSetOfRedisClusterNodes(client.clusterSlaves(client.clusterMyId())), + topologyProvider.getTopology().getActiveMasterNodes()).getResults(); Map> result = new LinkedHashMap<>();