From f657a42ef7c72e0d9ecfd1de3952d6ff095811b7 Mon Sep 17 00:00:00 2001 From: Nikita Date: Tue, 27 Sep 2016 09:50:51 +0300 Subject: [PATCH] Fixed ClassCastException error when there are no slaves in sentinel mode. #632 --- redisson/pom.xml | 2 +- .../org/redisson/client/protocol/RedisCommands.java | 2 +- .../protocol/decoder/FlatNestedMultiDecoder.java | 10 ++++++---- .../client/protocol/decoder/NestedMultiDecoder.java | 6 ++++++ 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/redisson/pom.xml b/redisson/pom.xml index 553250976..7c88e2e3b 100644 --- a/redisson/pom.xml +++ b/redisson/pom.xml @@ -97,7 +97,7 @@ org.slf4j slf4j-simple - 1.7.21 + 1.7.16 test diff --git a/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java b/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java index f82d510e9..b9ca4ff80 100644 --- a/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java +++ b/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java @@ -281,7 +281,7 @@ public interface RedisCommands { RedisStrictCommand> SENTINEL_GET_MASTER_ADDR_BY_NAME = new RedisStrictCommand>("SENTINEL", "GET-MASTER-ADDR-BY-NAME", new StringListReplayDecoder()); RedisCommand>> SENTINEL_SLAVES = new RedisCommand>>("SENTINEL", "SLAVES", - new FlatNestedMultiDecoder(new ObjectMapReplayDecoder(), new ListResultReplayDecoder()), ValueType.OBJECT + new NestedMultiDecoder(new ObjectMapReplayDecoder(), new ListResultReplayDecoder(), true), ValueType.OBJECT ); RedisStrictCommand CLUSTER_ADDSLOTS = new RedisStrictCommand("CLUSTER", "ADDSLOTS"); diff --git a/redisson/src/main/java/org/redisson/client/protocol/decoder/FlatNestedMultiDecoder.java b/redisson/src/main/java/org/redisson/client/protocol/decoder/FlatNestedMultiDecoder.java index f83204cfd..0737a85a0 100644 --- a/redisson/src/main/java/org/redisson/client/protocol/decoder/FlatNestedMultiDecoder.java +++ b/redisson/src/main/java/org/redisson/client/protocol/decoder/FlatNestedMultiDecoder.java @@ -21,12 +21,14 @@ import org.redisson.client.handler.State; import io.netty.buffer.ByteBuf; +/** + * + * @author Nikita Koksharov + * + * @param object type + */ public class FlatNestedMultiDecoder extends NestedMultiDecoder { - public FlatNestedMultiDecoder(MultiDecoder firstDecoder, MultiDecoder secondDecoder) { - super(firstDecoder, secondDecoder); - } - public FlatNestedMultiDecoder(MultiDecoder firstDecoder, MultiDecoder secondDecoder, boolean handleEmpty) { super(firstDecoder, secondDecoder, handleEmpty); } diff --git a/redisson/src/main/java/org/redisson/client/protocol/decoder/NestedMultiDecoder.java b/redisson/src/main/java/org/redisson/client/protocol/decoder/NestedMultiDecoder.java index 3ef1f90f5..6d30ff04a 100644 --- a/redisson/src/main/java/org/redisson/client/protocol/decoder/NestedMultiDecoder.java +++ b/redisson/src/main/java/org/redisson/client/protocol/decoder/NestedMultiDecoder.java @@ -22,6 +22,12 @@ import org.redisson.client.handler.State; import io.netty.buffer.ByteBuf; +/** + * + * @author Nikita Koksharov + * + * @param object type + */ public class NestedMultiDecoder implements MultiDecoder { public static class NestedDecoderState implements DecoderState {