diff --git a/redisson/src/main/java/org/redisson/RedissonBaseIterator.java b/redisson/src/main/java/org/redisson/RedissonBaseIterator.java index bccbd0f32..9faa1d2b2 100644 --- a/redisson/src/main/java/org/redisson/RedissonBaseIterator.java +++ b/redisson/src/main/java/org/redisson/RedissonBaseIterator.java @@ -26,6 +26,12 @@ import org.redisson.client.protocol.decoder.ScanObjectEntry; import io.netty.buffer.ByteBuf; +/** + * + * @author Nikita Koksharov + * + * @param value type + */ abstract class RedissonBaseIterator implements Iterator { private List firstValues; @@ -112,19 +118,17 @@ 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; + } else if (lastValues.isEmpty() && res.getPos() == 0) { + if (tryAgain()) { + client = null; + firstValues = null; + nextIterPos = 0; + prevIterPos = -1; + continue; } + + finished = true; + return false; } } lastIter = res.getValues().iterator();