diff --git a/redisson/src/main/java/org/redisson/command/CommandBatchService.java b/redisson/src/main/java/org/redisson/command/CommandBatchService.java index 7e473dfeb..d2e90f4a7 100644 --- a/redisson/src/main/java/org/redisson/command/CommandBatchService.java +++ b/redisson/src/main/java/org/redisson/command/CommandBatchService.java @@ -468,8 +468,14 @@ public class CommandBatchService extends CommandAsyncService { if (data.getCommand().getName().equals(RedisCommands.EXEC.getName())) { break; } + RPromise promise = (RPromise) data.getPromise(); - promise.trySuccess(resultIter.next()); + if (resultIter.hasNext()) { + promise.trySuccess(resultIter.next()); + } else { + // fix for https://github.com/redisson/redisson/issues/2212 + promise.trySuccess(null); + } } }