Simplify CLUSTER MYID command for Jedis.

Closes #2226
This commit is contained in:
dengliming
2022-01-06 23:13:20 +08:00
committed by Mark Paluch
parent c63e2e2900
commit 5e23f1c4de

View File

@@ -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<RedisClusterNode, Collection<RedisClusterNode>> clusterGetMasterSlaveMap() {
List<NodeResult<Collection<RedisClusterNode>>> nodeResults = clusterCommandExecutor
.executeCommandAsyncOnNodes((JedisClusterCommandCallback<Collection<RedisClusterNode>>) 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<NodeResult<Collection<RedisClusterNode>>> nodeResults = clusterCommandExecutor.executeCommandAsyncOnNodes(
(JedisClusterCommandCallback<Collection<RedisClusterNode>>) client -> JedisConverters
.toSetOfRedisClusterNodes(client.clusterSlaves(client.clusterMyId())),
topologyProvider.getTopology().getActiveMasterNodes()).getResults();
Map<RedisClusterNode, Collection<RedisClusterNode>> result = new LinkedHashMap<>();