From e81564192db2f078e2baf99ae7664d7abf3a6eed Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Fri, 20 Aug 2021 09:14:01 +0300 Subject: [PATCH] Fixed - empty array passed to RKeys.delete() method causes thread blocking. #3783 --- redisson/src/main/java/org/redisson/RedissonKeys.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/redisson/src/main/java/org/redisson/RedissonKeys.java b/redisson/src/main/java/org/redisson/RedissonKeys.java index 512275219..f02f5c446 100644 --- a/redisson/src/main/java/org/redisson/RedissonKeys.java +++ b/redisson/src/main/java/org/redisson/RedissonKeys.java @@ -317,6 +317,10 @@ public class RedissonKeys implements RKeys { @Override public RFuture unlinkAsync(String... keys) { + if (keys.length == 0) { + return RedissonPromise.newSucceededFuture(0L); + } + return commandExecutor.writeBatchedAsync(null, RedisCommands.UNLINK, new SlotCallback() { AtomicLong results = new AtomicLong(); @@ -334,6 +338,10 @@ public class RedissonKeys implements RKeys { @Override public RFuture deleteAsync(String... keys) { + if (keys.length == 0) { + return RedissonPromise.newSucceededFuture(0L); + } + return commandExecutor.writeBatchedAsync(null, RedisCommands.DEL, new SlotCallback() { AtomicLong results = new AtomicLong();