overlord icon indicating copy to clipboard operation
overlord copied to clipboard

lettuce调用overlord出现异常

Open insight0126 opened this issue 4 years ago • 2 comments

java 1.8 lettuce 2.0.4

测试代码

`public static void main(String[] args) { String nodes = "192.168.17.25:27020"; DefaultClientResources clientResources = DefaultClientResources.builder() .ioThreadPoolSize(10) .computationThreadPoolSize(10) .build();

    ClusterClientOptions clusterClient = ClusterClientOptions.builder()
            .autoReconnect(true)
            .pingBeforeActivateConnection(true)
            .build();

    RedisClusterClient client = RedisClusterClient.create(clientResources, RedisURI.create("redis://" + nodes));
    client.setOptions(clusterClient);

    StatefulRedisClusterConnection<String, String> connect = client.connect();
    RedisAdvancedClusterCommands<String, String> sync = connect.sync();

    String set = sync.set("a", "b");
}`

出现的异常

16:17:14.263 [main] DEBUG io.lettuce.core.protocol.DefaultEndpoint - [channel=0xe829f2e8, /192.168.17.1:54639 -> /192.168.17.25:27020, epid=0x2] close() Exception in thread "main" io.lettuce.core.RedisException: Cannot retrieve initial cluster partitions from initial URIs [RedisURI [host='192.168.17.25', port=27020]] at io.lettuce.core.cluster.RedisClusterClient.loadPartitions(RedisClusterClient.java:790) at io.lettuce.core.cluster.RedisClusterClient.initializePartitions(RedisClusterClient.java:761) at io.lettuce.core.cluster.RedisClusterClient.connectClusterImpl(RedisClusterClient.java:500) at io.lettuce.core.cluster.RedisClusterClient.connect(RedisClusterClient.java:339) at io.lettuce.core.cluster.RedisClusterClient.connect(RedisClusterClient.java:316) at com.example.importpsr.OverLordTest.main(OverLordTest.java:34)

insight0126 avatar Dec 05 '19 08:12 insight0126

看起来像是lettuce 没有拿到初始化的槽位分布信息。这个我得去看看源码才能找到root case。

wayslog avatar Dec 05 '19 08:12 wayslog

嗯嗯,他会拉取集群视图

insight0126 avatar Dec 05 '19 11:12 insight0126