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 2019/06/24 04:59:53 UTC

[incubator-iotdb] 01/03: filter mods file in recovery

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch feature_async_close_tsfile
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit a5c676054070da78a85c3e46df83bc686fd7da7d
Author: qiaojialin <64...@qq.com>
AuthorDate: Mon Jun 24 11:10:38 2019 +0800

    filter mods file in recovery
---
 .../org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java  | 6 +++---
 .../java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java  | 3 +++
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java
index e37784b..9340932 100755
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java
@@ -144,7 +144,7 @@ public class FileNodeProcessorV2 {
       if (!fileFolder.exists()) {
         continue;
       }
-      for (File tsfile: fileFolder.listFiles()) {
+      for (File tsfile: fileFolder.listFiles(file->!file.getName().contains("mods"))) {
         tsFiles.add(tsfile);
       }
     }
@@ -157,7 +157,7 @@ public class FileNodeProcessorV2 {
       if (!fileFolder.exists()) {
         continue;
       }
-      for (File tsfile: fileFolder.listFiles()) {
+      for (File tsfile: fileFolder.listFiles(file->!file.getName().contains("mods"))) {
         tsFiles.add(tsfile);
       }
     }
@@ -436,7 +436,7 @@ public class FileNodeProcessorV2 {
       // delete data in memory of unsealed file
       if (!tsFileResource.isClosed()) {
         UnsealedTsFileProcessorV2 tsfileProcessor = tsFileResource.getUnsealedFileProcessor();
-        tsfileProcessor.delete(deviceId, deletion.getPathString(), deletion.getTimestamp());
+        tsfileProcessor.delete(deviceId, deletion.getMeasurement(), deletion.getTimestamp());
       }
 
       // add a record in case of rollback
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
index 32990e2..677bcbb 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
@@ -172,6 +172,9 @@ public abstract class AbstractMemTable implements IMemTable {
     Map<String, IWritableMemChunk> deviceMap = memTableMap.get(deviceId);
     if (deviceMap != null) {
       IWritableMemChunk chunk = deviceMap.get(measurementId);
+      if (chunk == null) {
+        return true;
+      }
       IWritableMemChunk newChunk = filterChunk(chunk, timestamp);
       if (newChunk != null) {
         deviceMap.put(measurementId, newChunk);