[ https://issues.apache.org/jira/browse/IOTDB-527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jialin Qiao closed IOTDB-527. ----------------------------- Resolution: Fixed > 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 > Priority: Critical > Labels: pull-request-available > Fix For: 0.10.0-SNAPSHOT > > Time Spent: 40m > Remaining Estimate: 0h > > 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)