This is an automated email from the ASF dual-hosted git repository.

xiangweiwei pushed a commit to branch nextChunkBug
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit c60b8d811fba2efa3a9b04707a18e900f9d54242
Author: Alima777 <[email protected]>
AuthorDate: Thu Jun 24 09:13:15 2021 +0800

    fix hasNextChunk bug
---
 .../java/org/apache/iotdb/db/query/reader/series/SeriesReader.java | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
 
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
index 7c1213f..b225a0f 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/reader/series/SeriesReader.java
@@ -320,13 +320,16 @@ public class SeriesReader {
       /*
        * first time series metadata is already unpacked, consume cached 
ChunkMetadata
        */
-      if (!cachedChunkMetadata.isEmpty()) {
+      while (!cachedChunkMetadata.isEmpty()) {
         firstChunkMetadata = cachedChunkMetadata.peek();
         unpackAllOverlappedTsFilesToTimeSeriesMetadata(
             
orderUtils.getOverlapCheckTime(firstChunkMetadata.getStatistics()));
         unpackAllOverlappedTimeSeriesMetadataToCachedChunkMetadata(
             
orderUtils.getOverlapCheckTime(firstChunkMetadata.getStatistics()), false);
-        firstChunkMetadata = cachedChunkMetadata.poll();
+        if (firstChunkMetadata.equals(cachedChunkMetadata.peek())) {
+          firstChunkMetadata = cachedChunkMetadata.poll();
+          break;
+        }
       }
     }
 

Reply via email to