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 2022/04/15 13:04:13 UTC
[iotdb] branch master updated: [IOTDB-2922] Fix NPE when compacting with files that contains zero device (#5553)
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/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new a356eeabc9 [IOTDB-2922] Fix NPE when compacting with files that contains zero device (#5553)
a356eeabc9 is described below
commit a356eeabc9b1ed2c445d977a7b23e04dc151f3ed
Author: Liu Xuxin <37...@users.noreply.github.com>
AuthorDate: Fri Apr 15 06:04:08 2022 -0700
[IOTDB-2922] Fix NPE when compacting with files that contains zero device (#5553)
---
.../db/engine/compaction/inner/utils/MultiTsFileDeviceIterator.java | 5 ++++-
.../src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java | 2 ++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/utils/MultiTsFileDeviceIterator.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/utils/MultiTsFileDeviceIterator.java
index cb76dfdcdc..69e9ab0e10 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/utils/MultiTsFileDeviceIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/utils/MultiTsFileDeviceIterator.java
@@ -94,7 +94,10 @@ public class MultiTsFileDeviceIterator implements AutoCloseable {
public boolean hasNextDevice() {
boolean hasNext = false;
for (TsFileDeviceIterator iterator : deviceIteratorMap.values()) {
- hasNext = hasNext || iterator.hasNext() || !iterator.current().equals(currentDevice);
+ hasNext =
+ hasNext
+ || iterator.hasNext()
+ || (iterator.current() != null && !iterator.current().equals(currentDevice));
}
return hasNext;
}
diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java b/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java
index 270c3d1935..a8900d3eb2 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.db.service;
+import org.apache.iotdb.db.engine.compaction.CompactionTaskManager;
import org.apache.iotdb.db.utils.MemUtils;
import org.slf4j.Logger;
@@ -29,6 +30,7 @@ public class IoTDBShutdownHook extends Thread {
@Override
public void run() {
+ CompactionTaskManager.getInstance().stop();
// close rocksdb if possible to avoid lose data
IoTDB.configManager.clear();
if (logger.isInfoEnabled()) {