From 72714dc6820379d22ef349a239b8ee636fd35a83 Mon Sep 17 00:00:00 2001 From: Nikita Date: Wed, 21 Mar 2018 12:04:05 +0300 Subject: [PATCH] Fixed - NPE in CommandDecoder handler while using RBatch object #1350 --- .../java/org/redisson/client/handler/CommandDecoder.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java b/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java index 1fed35936..bca6d64f3 100644 --- a/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java +++ b/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java @@ -198,7 +198,8 @@ public class CommandDecoder extends ReplayingDecoder { decode(in, commandData, null, ctx.channel()); - if (commandData != null && RedisCommands.EXEC.getName().equals(commandData.getCommand().getName())) { + if (commandData != null && RedisCommands.EXEC.getName().equals(commandData.getCommand().getName()) + && commandData.getPromise().isSuccess()) { List objects = (List) commandData.getPromise().getNow(); Iterator iter = objects.iterator(); boolean multiFound = false; @@ -218,7 +219,9 @@ public class CommandDecoder extends ReplayingDecoder { } } } catch (Exception e) { - commandData.tryFailure(e); + if (commandData != null) { + commandData.tryFailure(e); + } throw e; } i++;