This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 917fd5f Fix Null pointer bug in Last with empty unseq files (#1165)
917fd5f is described below
commit 917fd5f57701100ebf2bab2989d3e79501065c72
Author: wshao08 <[email protected]>
AuthorDate: Thu May 7 16:44:08 2020 +0800
Fix Null pointer bug in Last with empty unseq files (#1165)
---
.../iotdb/db/query/executor/LastQueryExecutor.java | 17 ++++++++++-------
.../org/apache/iotdb/db/integration/IoTDBLastIT.java | 2 ++
2 files changed, 12 insertions(+), 7 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
index 746cc65..0caf3aa 100644
---
a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
+++
b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
@@ -163,13 +163,16 @@ public class LastQueryExecutor {
}
TimeseriesMetadata timeseriesMetadata =
FileLoaderUtils.loadTimeSeriesMetadata(resource, seriesPath,
context, null, sensors);
- for (ChunkMetadata chunkMetaData :
timeseriesMetadata.loadChunkMetadataList()) {
- if (chunkMetaData.getEndTime() == resultPair.getTimestamp()
- && chunkMetaData.getVersion() > version) {
- Statistics chunkStatistics = chunkMetaData.getStatistics();
- resultPair = constructLastPair(
- chunkStatistics.getEndTime(),
chunkStatistics.getLastValue(), tsDataType);
- version = chunkMetaData.getVersion();
+ if (timeseriesMetadata != null) {
+ for (ChunkMetadata chunkMetaData :
timeseriesMetadata.loadChunkMetadataList()) {
+ if (chunkMetaData.getEndTime() == resultPair.getTimestamp()
+ && chunkMetaData.getVersion() > version) {
+ Statistics chunkStatistics = chunkMetaData.getStatistics();
+ resultPair =
+ constructLastPair(
+ chunkStatistics.getEndTime(),
chunkStatistics.getLastValue(), tsDataType);
+ version = chunkMetaData.getVersion();
+ }
}
}
}
diff --git
a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastIT.java
b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastIT.java
index 490c5af..7093afd 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastIT.java
@@ -247,6 +247,8 @@ public class IoTDBLastIT {
statement.execute("INSERT INTO root.ln.wf01.wt03(timestamp,status, id)
values(500, false, 9)");
statement.execute("flush");
+ statement.execute("INSERT INTO root.ln.wf01.wt03(timestamp,status, id)
values(400, false, 11)");
+ statement.execute("flush");
boolean hasResultSet = statement.execute(
"select last temperature from root.ln.wf01.wt03");