You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/11/11 13:49:43 UTC
[iotdb] branch rel/0.11 updated: [To rel/0.11] [IOTDB-1000] Read
redundant data while select with value filter with unseq data (#2019)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch rel/0.11
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/0.11 by this push:
new 1bb8957 [To rel/0.11] [IOTDB-1000] Read redundant data while select with value filter with unseq data (#2019)
1bb8957 is described below
commit 1bb8957d3d4dd442582420619343093b64e6134f
Author: Xiangwei Wei <34...@users.noreply.github.com>
AuthorDate: Wed Nov 11 21:49:30 2020 +0800
[To rel/0.11] [IOTDB-1000] Read redundant data while select with value filter with unseq data (#2019)
---
.../apache/iotdb/db/query/reader/series/SeriesReader.java | 6 ++++++
.../apache/iotdb/db/integration/IoTDBOverlappedPageIT.java | 14 +++++++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
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 e0618ff..c116da8 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
@@ -410,6 +410,12 @@ public class SeriesReader {
while (firstPageReader == null && (!seqPageReaders.isEmpty() || !unSeqPageReaders.isEmpty())) {
initFirstPageReader();
+ if (firstPageReader != null) {
+ long endpointTime = orderUtils.getOverlapCheckTime(firstPageReader.getStatistics());
+ unpackAllOverlappedTsFilesToTimeSeriesMetadata(endpointTime);
+ unpackAllOverlappedTimeSeriesMetadataToCachedChunkMetadata(endpointTime, false);
+ unpackAllOverlappedChunkMetadataToCachedPageReaders(endpointTime, false);
+ }
if (firstPageOverlapped()) {
/*
diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
index daea618..bbfcf64 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
@@ -115,17 +115,29 @@ public class IoTDBOverlappedPageIT {
statement.execute(sql);
}
statement.execute("flush");
+
+ for (long time = 11; time <= 20; time++) {
+ String sql = String
+ .format("insert into root.vehicle.d0(timestamp,s0) values(%s,%s)", time, time+100);
+ statement.execute(sql);
+ }
for (long time = 100; time <= 120; time++) {
String sql = String
.format("insert into root.vehicle.d0(timestamp,s0) values(%s,%s)", time, time);
statement.execute(sql);
}
statement.execute("flush");
- for (long time = 1; time <= 20; time++) {
+
+ for (long time = 1; time <= 10; time++) {
String sql = String
.format("insert into root.vehicle.d0(timestamp,s0) values(%s,%s)", time, time+100);
statement.execute(sql);
}
+ for (long time = 11; time <= 20; time++) {
+ String sql = String
+ .format("insert into root.vehicle.d0(timestamp,s0) values(%s,%s)", time, time+100);
+ statement.execute(sql);
+ }
statement.execute("flush");
} catch (Exception e) {
e.printStackTrace();