DATAREDIS-888 - Use Lettuce's read-only Partition view for node conversion.
We now use the read-only view of Lettuce's Partition object to convert Lettuce RedisClusterNode objects into Spring Data RedisClusterNode. The read-only view is atomic and does not require external synchronization. Original Pull Request: #384
This commit is contained in:
committed by
Christoph Strobl
parent
3816b41dc8
commit
22fdaba350
@@ -223,7 +223,7 @@ abstract public class LettuceConverters extends Converters {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<RedisClusterNode> nodes = new ArrayList<>();
|
||||
for (io.lettuce.core.cluster.models.partitions.RedisClusterNode node : source.getPartitions()) {
|
||||
for (io.lettuce.core.cluster.models.partitions.RedisClusterNode node : source) {
|
||||
nodes.add(CLUSTER_NODE_TO_CLUSTER_NODE_CONVERTER.convert(node));
|
||||
}
|
||||
|
||||
|
||||
@@ -102,9 +102,9 @@ public class LettuceClusterConnectionUnitTests {
|
||||
partition3.setFlags(Collections.singleton(NodeFlag.MASTER));
|
||||
partition3.setUri(RedisURI.create("redis://" + CLUSTER_HOST + ":" + MASTER_NODE_3_PORT));
|
||||
|
||||
partitions.addPartition(partition1);
|
||||
partitions.addPartition(partition2);
|
||||
partitions.addPartition(partition3);
|
||||
partitions.add(partition1);
|
||||
partitions.add(partition2);
|
||||
partitions.add(partition3);
|
||||
|
||||
when(resourceProvider.getResourceForSpecificNode(CLUSTER_NODE_1)).thenReturn(clusterConnection1Mock);
|
||||
when(resourceProvider.getResourceForSpecificNode(CLUSTER_NODE_2)).thenReturn(clusterConnection2Mock);
|
||||
|
||||
@@ -88,7 +88,7 @@ public class LettuceConvertersUnitTests {
|
||||
partition.setUri(RedisURI.create("redis://" + CLUSTER_HOST + ":" + MASTER_NODE_1_PORT));
|
||||
partition.setSlots(Arrays.<Integer> asList(1, 2, 3, 4, 5));
|
||||
|
||||
partitions.addPartition(partition);
|
||||
partitions.add(partition);
|
||||
|
||||
List<RedisClusterNode> nodes = LettuceConverters.partitionsToClusterNodes(partitions);
|
||||
assertThat(nodes.size(), is(1));
|
||||
|
||||
Reference in New Issue
Block a user