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:52 UTC

[incubator-iotdb] branch feature_async_close_tsfile updated (2523e14 -> a3bf720)

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

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


    from 2523e14  fix test exception
     new a5c6760  filter mods file in recovery
     new 8ec55ef  Merge remote-tracking branch 'origin/feature_async_close_tsfile' into feature_async_close_tsfile
     new a3bf720  fix delete bug

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../db/engine/filenodeV2/FileNodeManagerV2.java    |  2 +-
 .../db/engine/filenodeV2/FileNodeProcessorV2.java  | 12 +++++-----
 .../iotdb/db/engine/filenodeV2/FlushManager.java   | 26 +++++++++++---------
 .../db/engine/filenodeV2/TsFileResourceV2.java     |  1 +
 .../filenodeV2/UnsealedTsFileProcessorV2.java      | 28 ++++++++++++----------
 .../iotdb/db/engine/memtable/AbstractMemTable.java | 13 ++++++++++
 .../apache/iotdb/db/engine/memtable/IMemTable.java |  4 ++++
 .../db/engine/memtable/MemTableFlushTaskV2.java    |  4 ++--
 .../db/engine/memtable/PrimitiveMemTable.java      |  1 +
 .../reader/adapter/FileSeriesReaderAdapter.java    |  2 +-
 .../reader/sequence/SequenceDataReaderV2.java      |  2 +-
 .../engine/filenodeV2/FileNodeProcessorV2Test.java |  1 -
 .../filenodeV2/UnsealedTsFileProcessorV2Test.java  |  1 -
 .../engine/memtable/MemTableFlushTaskV2Test.java   |  2 +-
 .../engine/modification/DeletionFileNodeTest.java  | 22 ++++++++---------
 15 files changed, 71 insertions(+), 50 deletions(-)


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

Posted by qi...@apache.org.
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);


[incubator-iotdb] 03/03: fix delete bug

Posted by qi...@apache.org.
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 a3bf720dc9613808b28079b1aa5e8f297c976646
Author: qiaojialin <64...@qq.com>
AuthorDate: Mon Jun 24 12:59:39 2019 +0800

    fix delete bug
---
 .../db/engine/filenodeV2/FileNodeManagerV2.java    |  2 +-
 .../db/engine/filenodeV2/FileNodeProcessorV2.java  |  8 +++----
 .../iotdb/db/engine/filenodeV2/FlushManager.java   | 26 +++++++++++---------
 .../db/engine/filenodeV2/TsFileResourceV2.java     |  1 +
 .../filenodeV2/UnsealedTsFileProcessorV2.java      | 28 ++++++++++++----------
 .../iotdb/db/engine/memtable/AbstractMemTable.java | 10 ++++++++
 .../apache/iotdb/db/engine/memtable/IMemTable.java |  4 ++++
 .../db/engine/memtable/MemTableFlushTaskV2.java    |  4 ++--
 .../db/engine/memtable/PrimitiveMemTable.java      |  1 +
 .../reader/adapter/FileSeriesReaderAdapter.java    |  2 +-
 .../reader/sequence/SequenceDataReaderV2.java      |  2 +-
 .../engine/filenodeV2/FileNodeProcessorV2Test.java |  1 -
 .../filenodeV2/UnsealedTsFileProcessorV2Test.java  |  1 -
 .../engine/memtable/MemTableFlushTaskV2Test.java   |  2 +-
 .../engine/modification/DeletionFileNodeTest.java  | 22 ++++++++---------
 15 files changed, 66 insertions(+), 48 deletions(-)

diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeManagerV2.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeManagerV2.java
index 2ef348c..3a8f4f0 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeManagerV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeManagerV2.java
@@ -371,7 +371,7 @@ public class FileNodeManagerV2 implements IService {
     LOGGER.info("Start closing all filenode processor");
     synchronized (processorMap){
       for(FileNodeProcessorV2 processor: processorMap.values()){
-        processor.asyncForceClose();
+        processor.syncCloseFileNode();
       }
     }
   }
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 9340932..1ff260d 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
@@ -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.getMeasurement(), deletion.getTimestamp());
+        tsfileProcessor.delete(deletion);
       }
 
       // add a record in case of rollback
@@ -575,14 +575,14 @@ public class FileNodeProcessorV2 {
   public void closeUnsealedTsFileProcessorCallback(UnsealedTsFileProcessorV2 unsealedTsFileProcessor) {
     lock.writeLock().lock();
     try {
+      // end time with one start time
+      TsFileResourceV2 resource = unsealedTsFileProcessor.getTsFileResource();
+      resource.setClosed(true);
       if (closingSequenceTsFileProcessor.contains(unsealedTsFileProcessor)) {
         closingSequenceTsFileProcessor.remove(unsealedTsFileProcessor);
       } else {
         closingUnSequenceTsFileProcessor.remove(unsealedTsFileProcessor);
       }
-      // end time with one start time
-      TsFileResourceV2 resource = unsealedTsFileProcessor.getTsFileResource();
-      resource.setClosed(true);
       LOGGER.info("signal closing file node condition");
       closeFileNodeCondition.signal();
     }finally {
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FlushManager.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FlushManager.java
index e41db85..1c9adbe 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FlushManager.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FlushManager.java
@@ -34,17 +34,21 @@ public class FlushManager {
 
   private FlushPoolManager flushPool = FlushPoolManager.getInstance();
 
-  private Runnable flushThread = () -> {
-    UnsealedTsFileProcessorV2 unsealedTsFileProcessor = unsealedTsFileProcessorQueue.poll();
-    try {
-      unsealedTsFileProcessor.flushOneMemTable();
-    } catch (IOException e) {
-      LOGGER.error("flush one memtable meet error", e);
-      // TODO do sth
+  class FlushThread implements Runnable {
+
+    @Override
+    public void run() {
+      UnsealedTsFileProcessorV2 unsealedTsFileProcessor = unsealedTsFileProcessorQueue.poll();
+      try {
+        unsealedTsFileProcessor.flushOneMemTable();
+      } catch (IOException e) {
+        LOGGER.error("flush one memtable meet error", e);
+        // TODO do sth
+      }
+      unsealedTsFileProcessor.setManagedByFlushManager(false);
+      registerUnsealedTsFileProcessor(unsealedTsFileProcessor);
     }
-    unsealedTsFileProcessor.setManagedByFlushManager(false);
-    registerUnsealedTsFileProcessor(unsealedTsFileProcessor);
-  };
+  }
 
   /**
    * Add BufferWriteProcessor to asyncFlush manager
@@ -60,7 +64,7 @@ public class FlushManager {
         }
         unsealedTsFileProcessorQueue.add(unsealedTsFileProcessor);
         unsealedTsFileProcessor.setManagedByFlushManager(true);
-        return flushPool.submit(flushThread);
+        return flushPool.submit(new FlushThread());
       }
       return null;
     }
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/TsFileResourceV2.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/TsFileResourceV2.java
index f35bed3..86abcf2 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/TsFileResourceV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/TsFileResourceV2.java
@@ -134,6 +134,7 @@ public class TsFileResourceV2 {
 
   public void setClosed(boolean closed) {
     this.closed = closed;
+    processor = null;
   }
 
   public UnsealedTsFileProcessorV2 getUnsealedFileProcessor() {
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2.java
index e7629a1..d3fde32 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2.java
@@ -35,6 +35,7 @@ import org.apache.iotdb.db.engine.memtable.IMemTable;
 import org.apache.iotdb.db.engine.memtable.MemSeriesLazyMerger;
 import org.apache.iotdb.db.engine.memtable.MemTableFlushTaskV2;
 import org.apache.iotdb.db.engine.memtable.MemTablePool;
+import org.apache.iotdb.db.engine.modification.Deletion;
 import org.apache.iotdb.db.engine.modification.Modification;
 import org.apache.iotdb.db.engine.modification.ModificationFile;
 import org.apache.iotdb.db.engine.querycontext.ReadOnlyMemChunk;
@@ -147,20 +148,16 @@ public class UnsealedTsFileProcessorV2 {
   /**
    * Delete data whose timestamp <= 'timestamp' and belonging to timeseries deviceId.measurementId.
    * Delete data in both working MemTable and flushing MemTables.
-   *
-   * @param deviceId the deviceId of the timeseries to be deleted.
-   * @param measurementId the measurementId of the timeseries to be deleted.
-   * @param timestamp the upper-bound of deletion time.
    */
-  public void delete(String deviceId, String measurementId, long timestamp) {
-    if (shouldClose) {
-      return;
-    }
+  public void delete(Deletion deletion) {
     flushQueryLock.writeLock().lock();
     try {
-      workMemTable.delete(deviceId, measurementId, timestamp);
+      if (workMemTable != null) {
+        workMemTable
+            .delete(deletion.getDevice(), deletion.getMeasurement(), deletion.getTimestamp());
+      }
       for (IMemTable memTable: flushingMemTables) {
-        memTable.delete(deviceId, measurementId, timestamp);
+        memTable.delete(deletion);
       }
     } finally {
       flushQueryLock.writeLock().unlock();
@@ -210,6 +207,7 @@ public class UnsealedTsFileProcessorV2 {
         LOGGER.debug("add an empty memtable into flushing memtable list when sync close");
       }
       flushingMemTables.add(tmpMemTable);
+      tmpMemTable.setVersion(versionController.nextVersion());
       FlushManager.getInstance().registerUnsealedTsFileProcessor(this);
       flushUpdateLatestFlushTimeCallback.get();
       shouldClose = true;
@@ -231,6 +229,7 @@ public class UnsealedTsFileProcessorV2 {
         LOGGER.debug("add an empty memtable into flushing memtable list when sync flush");
       }
       flushingMemTables.addLast(tmpMemTable);
+      tmpMemTable.setVersion(versionController.nextVersion());
       FlushManager.getInstance().registerUnsealedTsFileProcessor(this);
       flushUpdateLatestFlushTimeCallback.get();
       workMemTable = null;
@@ -258,6 +257,7 @@ public class UnsealedTsFileProcessorV2 {
       }
       logNode.notifyStartFlush();
       flushingMemTables.addLast(workMemTable);
+      workMemTable.setVersion(versionController.nextVersion());
       FlushManager.getInstance().registerUnsealedTsFileProcessor(this);
       flushUpdateLatestFlushTimeCallback.get();
       workMemTable = null;
@@ -269,8 +269,6 @@ public class UnsealedTsFileProcessorV2 {
   }
 
 
-
-
   /**
    * return the memtable to MemTablePool and make metadata in writer visible
    */
@@ -299,7 +297,7 @@ public class UnsealedTsFileProcessorV2 {
     if (memTableToFlush.isManagedByMemPool()) {
       MemTableFlushTaskV2 flushTask = new MemTableFlushTaskV2(writer, storageGroupName,
           this::releaseFlushedMemTableCallback);
-      flushTask.flushMemTable(fileSchema, memTableToFlush, versionController.nextVersion());
+      flushTask.flushMemTable(fileSchema, memTableToFlush);
       MemTablePool.getInstance().putBack(memTableToFlush, storageGroupName);
       logNode.notifyEndFlush();
       LOGGER.info("flush a memtable has finished");
@@ -370,6 +368,10 @@ public class UnsealedTsFileProcessorV2 {
     return workMemTable.memSize();
   }
 
+  public VersionController getVersionController() {
+    return versionController;
+  }
+
   /**
    * get the chunk(s) in the memtable ( one from work memtable and the other ones in flushing status
    * and then compact them into one TimeValuePairSorter). Then get the related ChunkMetadatas of
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 677bcbb..1beafc5 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
@@ -36,6 +36,8 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public abstract class AbstractMemTable implements IMemTable {
 
+  private long version;
+
   private List<Modification> modifications = new ArrayList<>();
 
   private final Map<String, Map<String, IWritableMemChunk>> memTableMap;
@@ -239,4 +241,12 @@ public abstract class AbstractMemTable implements IMemTable {
     Map<String, IWritableMemChunk> deviceMap = memTableMap.get(deviceId);
     return deviceMap != null && deviceMap.containsKey(measurementId);
   }
+
+  public void setVersion(long version) {
+    this.version = version;
+  }
+
+  public long getVersion() {
+    return version;
+  }
 }
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java
index e103dd0..594dbd2 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java
@@ -97,4 +97,8 @@ public interface IMemTable {
   boolean containSeries(String deviceId, String measurementId);
 
   boolean isManagedByMemPool();
+
+  long getVersion();
+
+  void setVersion(long version);
 }
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java
index 7d1e941..dc92a97 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java
@@ -174,7 +174,7 @@ public class MemTableFlushTaskV2 {
   /**
    * the function for flushing memtable.
    */
-  public void flushMemTable(FileSchema fileSchema, IMemTable imemTable, long version) {
+  public void flushMemTable(FileSchema fileSchema, IMemTable imemTable) {
     long sortTime = 0;
     ChunkGroupIoTask theLastTask = EMPTY_TASK;
     this.memTable = imemTable;
@@ -190,7 +190,7 @@ public class MemTableFlushTaskV2 {
         sortTime += System.currentTimeMillis() - startTime;
         memoryTaskQueue.add(new Pair<>(sortedTimeValuePairs, desc));
       }
-      theLastTask = new ChunkGroupIoTask(seriesNumber, deviceId, version);
+      theLastTask = new ChunkGroupIoTask(seriesNumber, deviceId, imemTable.getVersion());
       memoryTaskQueue.add(theLastTask);
     }
     LOGGER.info(
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTable.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTable.java
index 919da79..c953eb6 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTable.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTable.java
@@ -54,4 +54,5 @@ public class PrimitiveMemTable extends AbstractMemTable {
   public boolean equals(Object obj) {
     return this == obj;
   }
+
 }
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/query/reader/adapter/FileSeriesReaderAdapter.java b/iotdb/src/main/java/org/apache/iotdb/db/query/reader/adapter/FileSeriesReaderAdapter.java
index f3d0a58..2f98b47 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/query/reader/adapter/FileSeriesReaderAdapter.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/query/reader/adapter/FileSeriesReaderAdapter.java
@@ -31,7 +31,7 @@ public class FileSeriesReaderAdapter implements IAggregateReader {
 
   private FileSeriesReader fileSeriesReader;
 
-  public FileSeriesReaderAdapter(FileSeriesReader fileSeriesReader){
+  public FileSeriesReaderAdapter(FileSeriesReader fileSeriesReader) {
     this.fileSeriesReader = fileSeriesReader;
   }
 
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceDataReaderV2.java b/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceDataReaderV2.java
index 51c7718..1ba307e 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceDataReaderV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceDataReaderV2.java
@@ -30,6 +30,7 @@ import org.apache.iotdb.db.query.reader.adapter.FileSeriesReaderAdapter;
 import org.apache.iotdb.db.utils.QueryUtils;
 import org.apache.iotdb.tsfile.file.metadata.ChunkMetaData;
 import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
+import org.apache.iotdb.tsfile.read.common.BatchData;
 import org.apache.iotdb.tsfile.read.common.Path;
 import org.apache.iotdb.tsfile.read.controller.ChunkLoader;
 import org.apache.iotdb.tsfile.read.controller.ChunkLoaderImpl;
@@ -77,7 +78,6 @@ public class SequenceDataReaderV2 extends IterateReader {
             new UnSealedTsFileReaderV2(tsFileResource, timeFilter, enableReverse));
       }
     }
-
   }
 
   /**
diff --git a/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2Test.java b/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2Test.java
index 4facad4..e53c351 100644
--- a/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2Test.java
+++ b/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2Test.java
@@ -49,7 +49,6 @@ public class FileNodeProcessorV2Test {
   @After
   public void tearDown() throws Exception {
     EnvironmentUtils.cleanEnv();
-    EnvironmentUtils.cleanDir(systemDir);
   }
 
 
diff --git a/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2Test.java b/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2Test.java
index 71233a9..7d08217 100644
--- a/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2Test.java
+++ b/iotdb/src/test/java/org/apache/iotdb/db/engine/filenodeV2/UnsealedTsFileProcessorV2Test.java
@@ -65,7 +65,6 @@ public class UnsealedTsFileProcessorV2Test {
   @After
   public void tearDown() throws Exception {
     EnvironmentUtils.cleanEnv();
-    EnvironmentUtils.cleanDir(filePath);
   }
 
   @Test
diff --git a/iotdb/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2Test.java b/iotdb/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2Test.java
index da83217..074317d 100644
--- a/iotdb/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2Test.java
+++ b/iotdb/src/test/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2Test.java
@@ -67,7 +67,7 @@ public class MemTableFlushTaskV2Test {
     assertTrue(writer
         .getVisibleMetadatas(MemTableTestUtils.deviceId0, MemTableTestUtils.measurementId0,
             MemTableTestUtils.dataType0).isEmpty());
-    memTableFlushTask.flushMemTable(MemTableTestUtils.getFileSchema(), memTable, 1L);
+    memTableFlushTask.flushMemTable(MemTableTestUtils.getFileSchema(), memTable);
     assertEquals(1, writer
         .getVisibleMetadatas(MemTableTestUtils.deviceId0, MemTableTestUtils.measurementId0,
             MemTableTestUtils.dataType0).size());
diff --git a/iotdb/src/test/java/org/apache/iotdb/db/engine/modification/DeletionFileNodeTest.java b/iotdb/src/test/java/org/apache/iotdb/db/engine/modification/DeletionFileNodeTest.java
index 76458be..5277272 100644
--- a/iotdb/src/test/java/org/apache/iotdb/db/engine/modification/DeletionFileNodeTest.java
+++ b/iotdb/src/test/java/org/apache/iotdb/db/engine/modification/DeletionFileNodeTest.java
@@ -140,9 +140,9 @@ public class DeletionFileNodeTest {
     FileNodeManagerV2.getInstance().delete(processorName, measurements[3], 30);
 
     Modification[] realModifications = new Modification[]{
-        new Deletion(new Path(processorName, measurements[5]), 102, 50),
-        new Deletion(new Path(processorName, measurements[4]), 103, 40),
-        new Deletion(new Path(processorName, measurements[3]), 104, 30),
+        new Deletion(new Path(processorName, measurements[5]), 103, 50),
+        new Deletion(new Path(processorName, measurements[4]), 104, 40),
+        new Deletion(new Path(processorName, measurements[3]), 105, 30),
     };
 
     File fileNodeDir = new File(DirectoryManager.getInstance().getTsFileFolder(0), processorName);
@@ -166,7 +166,7 @@ public class DeletionFileNodeTest {
 
   @Test
   public void testDeleteInOverflowCache() throws FileNodeManagerException, ProcessorException {
-    // insert into BufferWrite
+    // insert sequence data
     for (int i = 101; i <= 200; i++) {
       TSRecord record = new TSRecord(i, processorName);
       for (int j = 0; j < 10; j++) {
@@ -176,7 +176,7 @@ public class DeletionFileNodeTest {
     }
     FileNodeManagerV2.getInstance().syncCloseAllProcessor();
 
-    // insert into Overflow
+    // insert unsequence data
     for (int i = 1; i <= 100; i++) {
       TSRecord record = new TSRecord(i, processorName);
       for (int j = 0; j < 10; j++) {
@@ -198,7 +198,7 @@ public class DeletionFileNodeTest {
         .getQueryDataSource(expression.getSeriesPath(), TEST_QUERY_CONTEXT);
 
     Iterator<TimeValuePair> timeValuePairs =
-        dataSource.getSeqResources().get(0).getReadOnlyMemChunk().getIterator();
+        dataSource.getUnseqResources().get(0).getReadOnlyMemChunk().getIterator();
     int count = 0;
     while (timeValuePairs.hasNext()) {
       timeValuePairs.next();
@@ -236,14 +236,12 @@ public class DeletionFileNodeTest {
     FileNodeManagerV2.getInstance().delete(processorName, measurements[3], 30);
 
     Modification[] realModifications = new Modification[]{
-        new Deletion(new Path(processorName, measurements[5]), 103, 50),
-        new Deletion(new Path(processorName, measurements[4]), 104, 40),
-        new Deletion(new Path(processorName, measurements[3]), 105, 30),
+        new Deletion(new Path(processorName, measurements[5]), 105, 50),
+        new Deletion(new Path(processorName, measurements[4]), 106, 40),
+        new Deletion(new Path(processorName, measurements[3]), 107, 30),
     };
 
-    String fileNodePath = DirectoryManager.getInstance().getNextFolderForUnSequenceFile() + File.separator
-        + processorName + File.separator + "0" + File.separator;
-    File fileNodeDir = new File(fileNodePath);
+    File fileNodeDir = new File(DirectoryManager.getInstance().getNextFolderForUnSequenceFile(), processorName);
     File[] modFiles = fileNodeDir.listFiles((dir, name)
         -> name.endsWith(ModificationFile.FILE_SUFFIX));
     assertEquals(modFiles.length, 1);


[incubator-iotdb] 02/03: Merge remote-tracking branch 'origin/feature_async_close_tsfile' into feature_async_close_tsfile

Posted by qi...@apache.org.
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 8ec55ef5e21448ff53ef6ef9cda15737b1ed6c0b
Merge: a5c6760 2523e14
Author: qiaojialin <64...@qq.com>
AuthorDate: Mon Jun 24 11:10:50 2019 +0800

    Merge remote-tracking branch 'origin/feature_async_close_tsfile' into feature_async_close_tsfile

 .../reader/merge/EngineReaderByTimeStamp.java      |  3 +
 .../recover/SeqTsFileRecoverPerformer.java         | 68 ++-------------
 ...reateByTimestampReadersOfSelectedPathsTest.java | 97 ++++++++++++++++++++++
 .../query/reader/unsequence/UnseqReaderTest.java   | 90 ++++++++++++++++++++
 4 files changed, 196 insertions(+), 62 deletions(-)