From bf65e2fd6ff88b7344fcf9066d7703987a3d6db3 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Tue, 1 Sep 2020 11:45:42 +0300 Subject: [PATCH] Fixed - UnsupportedOperationException is thrown if Spring Data Redis connection executed in pipelined mode. #3021 --- .../redisson/spring/data/connection/RedissonConnection.java | 4 ++++ .../redisson/spring/data/connection/RedissonConnection.java | 4 ++++ .../redisson/spring/data/connection/RedissonConnection.java | 4 ++++ .../redisson/spring/data/connection/RedissonConnection.java | 4 ++++ .../redisson/spring/data/connection/RedissonConnection.java | 4 ++++ .../redisson/spring/data/connection/RedissonConnection.java | 4 ++++ .../redisson/spring/data/connection/RedissonConnection.java | 4 ++++ 7 files changed, 28 insertions(+) diff --git a/redisson-spring-data/redisson-spring-data-16/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java b/redisson-spring-data/redisson-spring-data-16/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java index b3633e9fc..437d4f695 100644 --- a/redisson-spring-data/redisson-spring-data-16/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java +++ b/redisson-spring-data/redisson-spring-data-16/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java @@ -1450,6 +1450,10 @@ public class RedissonConnection extends AbstractRedisConnection { } protected void filterResults(BatchResult result) { + if (result.getResponses().isEmpty()) { + return; + } + int t = 0; for (Integer index : indexToRemove) { index -= t; diff --git a/redisson-spring-data/redisson-spring-data-17/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java b/redisson-spring-data/redisson-spring-data-17/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java index 8e0db80ec..3990724da 100644 --- a/redisson-spring-data/redisson-spring-data-17/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java +++ b/redisson-spring-data/redisson-spring-data-17/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java @@ -1507,6 +1507,10 @@ public class RedissonConnection extends AbstractRedisConnection { } protected void filterResults(BatchResult result) { + if (result.getResponses().isEmpty()) { + return; + } + int t = 0; for (Integer index : indexToRemove) { index -= t; diff --git a/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java b/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java index 78dbbd142..4327f25a8 100644 --- a/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java +++ b/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java @@ -1523,6 +1523,10 @@ public class RedissonConnection extends AbstractRedisConnection { } protected void filterResults(BatchResult result) { + if (result.getResponses().isEmpty()) { + return; + } + int t = 0; for (Integer index : indexToRemove) { index -= t; diff --git a/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java b/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java index a89fbe582..810bffda5 100644 --- a/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java +++ b/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java @@ -1507,6 +1507,10 @@ public class RedissonConnection extends AbstractRedisConnection { } protected void filterResults(BatchResult result) { + if (result.getResponses().isEmpty()) { + return; + } + int t = 0; for (Integer index : indexToRemove) { index -= t; diff --git a/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java b/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java index 35b791f7c..b355a987f 100644 --- a/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java +++ b/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java @@ -1542,6 +1542,10 @@ public class RedissonConnection extends AbstractRedisConnection { } protected void filterResults(BatchResult result) { + if (result.getResponses().isEmpty()) { + return; + } + int t = 0; for (Integer index : indexToRemove) { index -= t; diff --git a/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java b/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java index d4d9aed5f..7a1f1f200 100644 --- a/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java +++ b/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java @@ -1534,6 +1534,10 @@ public class RedissonConnection extends AbstractRedisConnection { } protected void filterResults(BatchResult result) { + if (result.getResponses().isEmpty()) { + return; + } + int t = 0; for (Integer index : indexToRemove) { index -= t; diff --git a/redisson-spring-data/redisson-spring-data-23/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java b/redisson-spring-data/redisson-spring-data-23/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java index d4d9aed5f..7a1f1f200 100644 --- a/redisson-spring-data/redisson-spring-data-23/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java +++ b/redisson-spring-data/redisson-spring-data-23/src/main/java/org/redisson/spring/data/connection/RedissonConnection.java @@ -1534,6 +1534,10 @@ public class RedissonConnection extends AbstractRedisConnection { } protected void filterResults(BatchResult result) { + if (result.getResponses().isEmpty()) { + return; + } + int t = 0; for (Integer index : indexToRemove) { index -= t;