From 4f5044995c72fad53e4c9761fe5c4b3fcd8039b5 Mon Sep 17 00:00:00 2001 From: Nikita Date: Tue, 23 May 2017 11:44:41 +0300 Subject: [PATCH] infinite scan fixed. #885 --- .../java/org/redisson/RedissonBaseIterator.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/redisson/src/main/java/org/redisson/RedissonBaseIterator.java b/redisson/src/main/java/org/redisson/RedissonBaseIterator.java index fc9151f8d..bccbd0f32 100644 --- a/redisson/src/main/java/org/redisson/RedissonBaseIterator.java +++ b/redisson/src/main/java/org/redisson/RedissonBaseIterator.java @@ -101,6 +101,7 @@ abstract class RedissonBaseIterator implements Iterator { currentElementRemoved = false; removeExecuted = false; + client = null; firstValues = null; lastValues = null; @@ -111,6 +112,19 @@ abstract class RedissonBaseIterator implements Iterator { } finished = true; return false; + } else if (!firstValues.isEmpty()) { + if (res.getPos() == 0) { + if (tryAgain()) { + client = null; + firstValues = null; + nextIterPos = 0; + prevIterPos = -1; + continue; + } + + finished = true; + return false; + } } } lastIter = res.getValues().iterator();