@Override public ClusterTopology getTopology() { return new ClusterTopology(new LinkedHashSet<>(LettuceConverters.partitionsToClusterNodes(client.getPartitions()))); } }
@Override public ClusterTopology getTopology() { if (cached != null && time + 100 > System.currentTimeMillis()) { return cached; } Map<String, Exception> errors = new LinkedHashMap<>(); List<Entry<String, JedisPool>> list = new ArrayList<>(cluster.getClusterNodes().entrySet()); Collections.shuffle(list); for (Entry<String, JedisPool> entry : list) { try (Jedis jedis = entry.getValue().getResource()) { time = System.currentTimeMillis(); Set<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(jedis.clusterNodes()); synchronized (lock) { cached = new ClusterTopology(nodes); } return cached; } catch (Exception ex) { errors.put(entry.getKey(), ex); } } StringBuilder sb = new StringBuilder(); for (Entry<String, Exception> entry : errors.entrySet()) { sb.append(String.format("\r\n\t- %s failed: %s", entry.getKey(), entry.getValue().getMessage())); } throw new ClusterStateFailureException( "Could not retrieve cluster information. CLUSTER NODES returned with error." + sb.toString()); } }
@Override public ClusterTopology getTopology() { return new ClusterTopology(new LinkedHashSet<>(LettuceConverters.partitionsToClusterNodes(client.getPartitions()))); } }
@Override public ClusterTopology getTopology() { return new ClusterTopology(new LinkedHashSet<>(LettuceConverters.partitionsToClusterNodes(client.getPartitions()))); } }
@Override public ClusterTopology getTopology() { if (cached != null && time + 100 > System.currentTimeMillis()) { return cached; } Map<String, Exception> errors = new LinkedHashMap<>(); List<Entry<String, JedisPool>> list = new ArrayList<>(cluster.getClusterNodes().entrySet()); Collections.shuffle(list); for (Entry<String, JedisPool> entry : list) { try (Jedis jedis = entry.getValue().getResource()) { time = System.currentTimeMillis(); Set<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(jedis.clusterNodes()); synchronized (lock) { cached = new ClusterTopology(nodes); } return cached; } catch (Exception ex) { errors.put(entry.getKey(), ex); } } StringBuilder sb = new StringBuilder(); for (Entry<String, Exception> entry : errors.entrySet()) { sb.append(String.format("\r\n\t- %s failed: %s", entry.getKey(), entry.getValue().getMessage())); } throw new ClusterStateFailureException( "Could not retrieve cluster information. CLUSTER NODES returned with error." + sb.toString()); } }
@Override public ClusterTopology getTopology() { if (cached != null && time + 100 > System.currentTimeMillis()) { return cached; } Map<String, Exception> errors = new LinkedHashMap<>(); List<Entry<String, JedisPool>> list = new ArrayList<>(cluster.getClusterNodes().entrySet()); Collections.shuffle(list); for (Entry<String, JedisPool> entry : list) { try (Jedis jedis = entry.getValue().getResource()) { time = System.currentTimeMillis(); Set<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(jedis.clusterNodes()); synchronized (lock) { cached = new ClusterTopology(nodes); } return cached; } catch (Exception ex) { errors.put(entry.getKey(), ex); } } StringBuilder sb = new StringBuilder(); for (Entry<String, Exception> entry : errors.entrySet()) { sb.append(String.format("\r\n\t- %s failed: %s", entry.getKey(), entry.getValue().getMessage())); } throw new ClusterStateFailureException( "Could not retrieve cluster information. CLUSTER NODES returned with error." + sb.toString()); } }