You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by "DaweiLiu (Jira)" <ji...@apache.org> on 2020/02/28 18:38:00 UTC

[jira] [Created] (IOTDB-527) SeriesReader bug when mergeReader has data and overlappedPageReaders isEmpty

DaweiLiu created IOTDB-527:
------------------------------

             Summary: SeriesReader bug when mergeReader has data and overlappedPageReaders isEmpty
                 Key: IOTDB-527
                 URL: https://issues.apache.org/jira/browse/IOTDB-527
             Project: Apache IoTDB
          Issue Type: Bug
          Components: Core/Engine
            Reporter: DaweiLiu
             Fix For: 0.10.0-SNAPSHOT


In the SeriesReader, we use the mergeReader to read to the end of the directly overlapped page (assumed time is A) when the data overlaps, and fill in the pages that overlap again as we read.

在SeriesReader中,当数据发生相交时我们会使用mergeReader读到直接重叠的page结尾(A时间点),同时会在读的过程中不断填充再次相交的page。

When the time in mergeReader is greater than the time A, the loop ends and A batchData is cut. The problem is, we don't know how many chunks are filled in, so when you reenter using hasNextPage(), the chunk referred to in firstChunkMetaData is the wrong chunk, causing the data to be re-read.

当mergeReader中的时间点大于A时间点时,会结束循环,切分开一个batchData。但问题是,我们并不知道中间Fill了多少chunk,所以当使用hasNextPage()重入的时候,firstChunkMetaData 所指的chunk就是错误的,它会导致数据重读。

 

It looks something like this:

1  [1537401604557-1537984270773]

2 [1537401786489-1538006396048]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)