diff --git a/src/main/java/org/springframework/data/redis/connection/ClusterCommandExecutor.java b/src/main/java/org/springframework/data/redis/connection/ClusterCommandExecutor.java index 8fcb49c34..fcd101bbb 100644 --- a/src/main/java/org/springframework/data/redis/connection/ClusterCommandExecutor.java +++ b/src/main/java/org/springframework/data/redis/connection/ClusterCommandExecutor.java @@ -171,7 +171,7 @@ public class ClusterCommandExecutor implements DisposableBean { * @return * @throws ClusterCommandExecutionFailureException */ - public MulitNodeResult executeCommandOnAllNodes(final ClusterCommandCallback cmd) { + public MultiNodeResult executeCommandOnAllNodes(final ClusterCommandCallback cmd) { return executeCommandAsyncOnNodes(cmd, getClusterTopology().getActiveMasterNodes()); } @@ -182,7 +182,7 @@ public class ClusterCommandExecutor implements DisposableBean { * @throws ClusterCommandExecutionFailureException * @throws IllegalArgumentException in case the node could not be resolved to a topology-known node */ - public MulitNodeResult executeCommandAsyncOnNodes(final ClusterCommandCallback callback, + public MultiNodeResult executeCommandAsyncOnNodes(final ClusterCommandCallback callback, Iterable nodes) { Assert.notNull(callback, "Callback must not be null!"); @@ -208,11 +208,11 @@ public class ClusterCommandExecutor implements DisposableBean { return collectResults(futures); } - private MulitNodeResult collectResults(Map>> futures) { + private MultiNodeResult collectResults(Map>> futures) { boolean done = false; - MulitNodeResult result = new MulitNodeResult<>(); + MultiNodeResult result = new MultiNodeResult<>(); Map exceptions = new HashMap<>(); Set saveGuard = new HashSet<>(); @@ -267,7 +267,7 @@ public class ClusterCommandExecutor implements DisposableBean { * @return * @throws ClusterCommandExecutionFailureException */ - public MulitNodeResult executeMuliKeyCommand(final MultiKeyClusterCommandCallback cmd, + public MultiNodeResult executeMultiKeyCommand(final MultiKeyClusterCommandCallback cmd, Iterable keys) { Map> nodeKeyMap = new HashMap<>(); @@ -445,7 +445,7 @@ public class ClusterCommandExecutor implements DisposableBean { } /** - * {@link NodeResult} encapsules the actual value returned by a {@link ClusterCommandCallback} on a given + * {@link NodeResult} encapsulates the actual value returned by a {@link ClusterCommandCallback} on a given * {@link RedisClusterNode}. * * @author Christoph Strobl @@ -510,13 +510,13 @@ public class ClusterCommandExecutor implements DisposableBean { } /** - * {@link MulitNodeResult} holds all {@link NodeResult} of a command executed on multiple {@link RedisClusterNode}. + * {@link MultiNodeResult} holds all {@link NodeResult} of a command executed on multiple {@link RedisClusterNode}. * * @author Christoph Strobl * @param * @since 1.7 */ - public static class MulitNodeResult { + public static class MultiNodeResult { List> nodeResults = new ArrayList<>(); @@ -550,7 +550,7 @@ public class ClusterCommandExecutor implements DisposableBean { public List resultsAsListSortBy(byte[]... keys) { ArrayList> clone = new ArrayList<>(nodeResults); - Collections.sort(clone, new ResultByReferenceKeyPositionComperator(keys)); + Collections.sort(clone, new ResultByReferenceKeyPositionComparator(keys)); return toList(clone); } @@ -591,12 +591,13 @@ public class ClusterCommandExecutor implements DisposableBean { * {@link Comparator} for sorting {@link NodeResult} by reference keys. * * @author Christoph Strobl + * @author Mark Paluch */ - private static class ResultByReferenceKeyPositionComperator implements Comparator> { + private static class ResultByReferenceKeyPositionComparator implements Comparator> { List reference; - public ResultByReferenceKeyPositionComperator(byte[]... keys) { + ResultByReferenceKeyPositionComparator(byte[]... keys) { reference = new ArrayList<>(new ByteArraySet(Arrays.asList(keys))); } diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java index f9dc098e3..5e285eec6 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java @@ -42,6 +42,7 @@ import org.springframework.util.CollectionUtils; /** * @author Christoph Strobl + * @author Mark Paluch * @since 2.0 */ class JedisClusterKeyCommands implements RedisKeyCommands { @@ -70,7 +71,7 @@ class JedisClusterKeyCommands implements RedisKeyCommands { } return (long) connection.getClusterCommandExecutor() - .executeMuliKeyCommand((JedisMultiKeyClusterCommandCallback) (client, key) -> client.del(key), + .executeMultiKeyCommand((JedisMultiKeyClusterCommandCallback) (client, key) -> client.del(key), Arrays.asList(keys)) .resultsAsList().size(); } diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterListCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterListCommands.java index 9db7bb404..228d000f0 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterListCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterListCommands.java @@ -27,6 +27,7 @@ import org.springframework.util.CollectionUtils; /** * @author Christoph Strobl + * @author Mark Paluch * @since 2.0 */ class JedisClusterListCommands implements RedisListCommands { @@ -235,7 +236,7 @@ class JedisClusterListCommands implements RedisListCommands { } return connection.getClusterCommandExecutor() - .executeMuliKeyCommand( + .executeMultiKeyCommand( (JedisMultiKeyClusterCommandCallback>) (client, key) -> client.blpop(timeout, key), Arrays.asList(keys)) .getFirstNonNullNotEmptyOrDefault(Collections. emptyList()); @@ -249,7 +250,7 @@ class JedisClusterListCommands implements RedisListCommands { public List bRPop(final int timeout, byte[]... keys) { return connection.getClusterCommandExecutor() - .executeMuliKeyCommand( + .executeMultiKeyCommand( (JedisMultiKeyClusterCommandCallback>) (client, key) -> client.brpop(timeout, key), Arrays.asList(keys)) .getFirstNonNullNotEmptyOrDefault(Collections. emptyList()); diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java index 17e0748f9..9bbe330bf 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java @@ -25,7 +25,7 @@ import java.util.Map.Entry; import java.util.Properties; import org.springframework.dao.InvalidDataAccessApiUsageException; -import org.springframework.data.redis.connection.ClusterCommandExecutor.MulitNodeResult; +import org.springframework.data.redis.connection.ClusterCommandExecutor.MultiNodeResult; import org.springframework.data.redis.connection.ClusterCommandExecutor.NodeResult; import org.springframework.data.redis.connection.RedisClusterNode; import org.springframework.data.redis.connection.RedisClusterServerCommands; @@ -510,7 +510,7 @@ class JedisClusterServerCommands implements RedisClusterServerCommands { return connection.getClusterCommandExecutor().executeCommandOnSingleNode(cmd, node); } - private MulitNodeResult executeCommandOnAllNodes(JedisClusterCommandCallback cmd) { + private MultiNodeResult executeCommandOnAllNodes(JedisClusterCommandCallback cmd) { return connection.getClusterCommandExecutor().executeCommandOnAllNodes(cmd); } } diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java index 42a4169cc..5144760de 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java @@ -37,6 +37,7 @@ import org.springframework.data.redis.util.ByteUtils; /** * @author Christoph Strobl + * @author Mark Paluch * @since 2.0 */ class JedisClusterSetCommands implements RedisSetCommands { @@ -169,7 +170,8 @@ class JedisClusterSetCommands implements RedisSetCommands { } Collection> resultList = connection.getClusterCommandExecutor() - .executeMuliKeyCommand((JedisMultiKeyClusterCommandCallback>) (client, key) -> client.smembers(key), + .executeMultiKeyCommand( + (JedisMultiKeyClusterCommandCallback>) (client, key) -> client.smembers(key), Arrays.asList(keys)) .resultsAsList(); @@ -235,7 +237,8 @@ class JedisClusterSetCommands implements RedisSetCommands { } Collection> resultList = connection.getClusterCommandExecutor() - .executeMuliKeyCommand((JedisMultiKeyClusterCommandCallback>) (client, key) -> client.smembers(key), + .executeMultiKeyCommand( + (JedisMultiKeyClusterCommandCallback>) (client, key) -> client.smembers(key), Arrays.asList(keys)) .resultsAsList(); @@ -295,7 +298,8 @@ class JedisClusterSetCommands implements RedisSetCommands { ByteArraySet values = new ByteArraySet(sMembers(source)); Collection> resultList = connection.getClusterCommandExecutor() - .executeMuliKeyCommand((JedisMultiKeyClusterCommandCallback>) (client, key) -> client.smembers(key), + .executeMultiKeyCommand( + (JedisMultiKeyClusterCommandCallback>) (client, key) -> client.smembers(key), Arrays.asList(others)) .resultsAsList(); diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java index ddc64a41e..0aa443abb 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java @@ -33,6 +33,7 @@ import org.springframework.util.ObjectUtils; /** * @author Christoph Strobl + * @author Mark Paluch * @since 2.0 */ class JedisClusterStringCommands implements RedisStringCommands { @@ -85,7 +86,7 @@ class JedisClusterStringCommands implements RedisStringCommands { } return connection.getClusterCommandExecutor() - .executeMuliKeyCommand((JedisMultiKeyClusterCommandCallback) (client, key) -> client.get(key), + .executeMultiKeyCommand((JedisMultiKeyClusterCommandCallback) (client, key) -> client.get(key), Arrays.asList(keys)) .resultsAsListSortBy(keys); } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterListCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterListCommands.java index 7abf355b7..f279455ac 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterListCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterListCommands.java @@ -27,6 +27,7 @@ import org.springframework.util.CollectionUtils; /** * @author Christoph Strobl + * @author Mark Paluch * @since 2.0 */ class LettuceClusterListCommands extends LettuceListCommands { @@ -50,7 +51,7 @@ class LettuceClusterListCommands extends LettuceListCommands { return super.bLPop(timeout, keys); } - List> resultList = connection.getClusterCommandExecutor().executeMuliKeyCommand( + List> resultList = connection.getClusterCommandExecutor().executeMultiKeyCommand( (LettuceMultiKeyClusterCommandCallback>) (client, key) -> client.blpop(timeout, key), Arrays.asList(keys)).resultsAsList(); @@ -74,7 +75,7 @@ class LettuceClusterListCommands extends LettuceListCommands { return super.bRPop(timeout, keys); } - List> resultList = connection.getClusterCommandExecutor().executeMuliKeyCommand( + List> resultList = connection.getClusterCommandExecutor().executeMultiKeyCommand( (LettuceMultiKeyClusterCommandCallback>) (client, key) -> client.brpop(timeout, key), Arrays.asList(keys)).resultsAsList(); diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterServerCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterServerCommands.java index 28d37e90b..94071983e 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterServerCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterServerCommands.java @@ -25,7 +25,7 @@ import java.util.Map.Entry; import java.util.Properties; import org.springframework.dao.InvalidDataAccessApiUsageException; -import org.springframework.data.redis.connection.ClusterCommandExecutor.MulitNodeResult; +import org.springframework.data.redis.connection.ClusterCommandExecutor.MultiNodeResult; import org.springframework.data.redis.connection.ClusterCommandExecutor.NodeResult; import org.springframework.data.redis.connection.RedisClusterNode; import org.springframework.data.redis.connection.RedisClusterServerCommands; @@ -361,7 +361,7 @@ class LettuceClusterServerCommands extends LettuceServerCommands implements Redi return connection.getClusterCommandExecutor().executeCommandOnSingleNode(command, node); } - private MulitNodeResult executeCommandOnAllNodes(final LettuceClusterCommandCallback cmd) { + private MultiNodeResult executeCommandOnAllNodes(final LettuceClusterCommandCallback cmd) { return connection.getClusterCommandExecutor().executeCommandOnAllNodes(cmd); } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterSetCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterSetCommands.java index e3e500bdb..d8913e110 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterSetCommands.java @@ -29,6 +29,7 @@ import org.springframework.data.redis.util.ByteUtils; /** * @author Christoph Strobl + * @author Mark Paluch * @since 2.0 */ class LettuceClusterSetCommands extends LettuceSetCommands { @@ -72,7 +73,7 @@ class LettuceClusterSetCommands extends LettuceSetCommands { } Collection> nodeResult = connection.getClusterCommandExecutor() - .executeMuliKeyCommand((LettuceMultiKeyClusterCommandCallback>) RedisSetCommands::smembers, + .executeMultiKeyCommand((LettuceMultiKeyClusterCommandCallback>) RedisSetCommands::smembers, Arrays.asList(keys)) .resultsAsList(); @@ -129,7 +130,7 @@ class LettuceClusterSetCommands extends LettuceSetCommands { } Collection> nodeResult = connection.getClusterCommandExecutor() - .executeMuliKeyCommand((LettuceMultiKeyClusterCommandCallback>) RedisSetCommands::smembers, + .executeMultiKeyCommand((LettuceMultiKeyClusterCommandCallback>) RedisSetCommands::smembers, Arrays.asList(keys)) .resultsAsList(); @@ -181,7 +182,7 @@ class LettuceClusterSetCommands extends LettuceSetCommands { ByteArraySet values = new ByteArraySet(sMembers(source)); Collection> nodeResult = connection.getClusterCommandExecutor() - .executeMuliKeyCommand((LettuceMultiKeyClusterCommandCallback>) RedisSetCommands::smembers, + .executeMultiKeyCommand((LettuceMultiKeyClusterCommandCallback>) RedisSetCommands::smembers, Arrays.asList(others)) .resultsAsList(); diff --git a/src/test/java/org/springframework/data/redis/connection/ClusterCommandExecutorUnitTests.java b/src/test/java/org/springframework/data/redis/connection/ClusterCommandExecutorUnitTests.java index 8aaefa064..29289086b 100644 --- a/src/test/java/org/springframework/data/redis/connection/ClusterCommandExecutorUnitTests.java +++ b/src/test/java/org/springframework/data/redis/connection/ClusterCommandExecutorUnitTests.java @@ -41,8 +41,8 @@ import org.springframework.data.redis.ClusterRedirectException; import org.springframework.data.redis.PassThroughExceptionTranslationStrategy; import org.springframework.data.redis.TooManyClusterRedirectionsException; import org.springframework.data.redis.connection.ClusterCommandExecutor.ClusterCommandCallback; -import org.springframework.data.redis.connection.ClusterCommandExecutor.MulitNodeResult; import org.springframework.data.redis.connection.ClusterCommandExecutor.MultiKeyClusterCommandCallback; +import org.springframework.data.redis.connection.ClusterCommandExecutor.MultiNodeResult; import org.springframework.data.redis.connection.RedisClusterNode.LinkState; import org.springframework.data.redis.connection.RedisClusterNode.SlotRange; import org.springframework.data.redis.connection.RedisNode.NodeType; @@ -248,7 +248,7 @@ public class ClusterCommandExecutorUnitTests { when(con2.theWheelWeavesAsTheWheelWills()).thenReturn("mat"); when(con3.theWheelWeavesAsTheWheelWills()).thenReturn("perrin"); - MulitNodeResult result = executor.executeCommandOnAllNodes(COMMAND_CALLBACK); + MultiNodeResult result = executor.executeCommandOnAllNodes(COMMAND_CALLBACK); assertThat(result.resultsAsList(), hasItems("rand", "mat", "perrin")); } @@ -263,7 +263,7 @@ public class ClusterCommandExecutorUnitTests { when(con2.bloodAndAshes(any(byte[].class))).thenReturn("mat"); when(con3.bloodAndAshes(any(byte[].class))).thenReturn("perrin"); - MulitNodeResult result = executor.executeMuliKeyCommand(MULTIKEY_CALLBACK, + MultiNodeResult result = executor.executeMultiKeyCommand(MULTIKEY_CALLBACK, new HashSet<>( Arrays.asList("key-1".getBytes(), "key-2".getBytes(), "key-3".getBytes(), "key-9".getBytes())));