You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2020/11/19 02:13:07 UTC
[iotdb] branch master updated: fix series bug
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new ff6f352 fix series bug
new e43a812 Merge pull request #2073 from Alima777/iotdb1016
ff6f352 is described below
commit ff6f352091373fb15340ee506b4a67f13345ef9b
Author: Alima777 <52...@qq.com>
AuthorDate: Wed Nov 18 22:47:48 2020 +0800
fix series bug
---
.../iotdb/db/query/reader/series/SeriesReader.java | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 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 c116da8..8aa4176 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
@@ -433,14 +433,17 @@ public class SeriesReader {
return firstPageReader != null;
}
- private boolean firstPageOverlapped() {
+ private boolean firstPageOverlapped() throws IOException {
if (firstPageReader == null) {
return false;
}
return (!seqPageReaders.isEmpty() && orderUtils
.isOverlapped(firstPageReader.getStatistics(), seqPageReaders.get(0).getStatistics())) || (
- !unSeqPageReaders.isEmpty() && orderUtils.isOverlapped(firstPageReader.getStatistics(),
- unSeqPageReaders.peek().getStatistics()));
+ !unSeqPageReaders.isEmpty() && orderUtils
+ .isOverlapped(firstPageReader.getStatistics(), unSeqPageReaders.peek().getStatistics())
+ || (mergeReader.hasNextTimeValuePair()
+ && mergeReader.currentTimeValuePair().getTimestamp() > firstPageReader.getStatistics()
+ .getStartTime()));
}
private void unpackAllOverlappedChunkMetadataToCachedPageReaders(long endpointTime, boolean init)
@@ -502,8 +505,8 @@ public class SeriesReader {
if (mergeReader.hasNextTimeValuePair() &&
((orderUtils.getAscending() && mergeReader.currentTimeValuePair().getTimestamp() <=
firstPageReader.getStatistics().getEndTime()) ||
- (!orderUtils.getAscending() && mergeReader.currentTimeValuePair().getTimestamp() >=
- firstPageReader.getStatistics().getStartTime()))) {
+ (!orderUtils.getAscending() && mergeReader.currentTimeValuePair().getTimestamp() >=
+ firstPageReader.getStatistics().getStartTime()))) {
throw new IOException("overlapped data should be consumed first");
}
@@ -617,7 +620,8 @@ public class SeriesReader {
.addReader(firstPageReader.getAllSatisfiedPageData(orderUtils.getAscending())
.getBatchDataIterator(), firstPageReader.version,
orderUtils.getOverlapCheckTime(firstPageReader.getStatistics()));
- currentPageEndPointTime = updateEndPointTime(currentPageEndPointTime, firstPageReader);
+ currentPageEndPointTime = updateEndPointTime(currentPageEndPointTime,
+ firstPageReader);
firstPageReader = null;
}
}