You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2019/10/25 01:29:10 UTC

[incubator-iotdb] branch dev_new_merge_strategy updated: fix file constructor

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

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


The following commit(s) were added to refs/heads/dev_new_merge_strategy by this push:
     new 7168d13  fix file constructor
7168d13 is described below

commit 7168d1394029339737749c7fccb5d475c05cd90c
Author: jt <jt...@163.com>
AuthorDate: Fri Oct 25 09:28:44 2019 +0800

    fix file constructor
---
 .../iotdb/db/engine/merge/inplace/recover/MergeLogger.java    |  4 +++-
 .../apache/iotdb/db/engine/merge/inplace/task/MergeTask.java  | 11 +++++++----
 .../iotdb/db/engine/merge/inplace/task/RecoverMergeTask.java  |  3 ++-
 .../iotdb/db/engine/merge/squeeze/recover/MergeLogger.java    |  4 +++-
 .../iotdb/db/engine/merge/squeeze/task/SqueezeMergeTask.java  |  9 ++++++---
 5 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/recover/MergeLogger.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/recover/MergeLogger.java
index a7ab9d0..24f6244 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/recover/MergeLogger.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/recover/MergeLogger.java
@@ -24,6 +24,7 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.List;
+import org.apache.iotdb.db.engine.fileSystem.SystemFileFactory;
 import org.apache.iotdb.db.engine.merge.manage.MergeResource;
 import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
 import org.apache.iotdb.tsfile.read.common.Path;
@@ -47,7 +48,8 @@ public class MergeLogger {
   private BufferedWriter logStream;
 
   public MergeLogger(String storageGroupDir) throws IOException {
-    logStream = new BufferedWriter(new FileWriter(new File(storageGroupDir, MERGE_LOG_NAME), true));
+    logStream = new BufferedWriter(new FileWriter(SystemFileFactory.INSTANCE.getFile(storageGroupDir,
+      MERGE_LOG_NAME), true));
   }
 
   public void close() throws IOException {
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/MergeTask.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/MergeTask.java
index 19c7934..c993cd6 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/MergeTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/MergeTask.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
+import org.apache.iotdb.db.engine.fileSystem.SystemFileFactory;
 import org.apache.iotdb.db.engine.merge.MergeCallback;
 import org.apache.iotdb.db.engine.merge.manage.MergeContext;
 import org.apache.iotdb.db.engine.merge.manage.MergeResource;
@@ -33,6 +34,7 @@ import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
 import org.apache.iotdb.db.exception.MetadataErrorException;
 import org.apache.iotdb.db.metadata.MManager;
 import org.apache.iotdb.db.utils.MergeUtils;
+import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 import org.apache.iotdb.tsfile.read.common.Path;
 import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 import org.slf4j.Logger;
@@ -93,8 +95,8 @@ public class MergeTask implements Callable<Void> {
       cleanUp(false);
       // call the callback to make sure the StorageGroup exit merging status, but passing 2
       // empty file lists to avoid files being deleted.
-      callback.call(Collections.emptyList(), Collections.emptyList(), new File(storageGroupSysDir
-          , MergeLogger.MERGE_LOG_NAME), null);
+      callback.call(Collections.emptyList(), Collections.emptyList(),
+          SystemFileFactory.INSTANCE.getFile(storageGroupSysDir, MergeLogger.MERGE_LOG_NAME), null);
       throw e;
     }
     return null;
@@ -158,11 +160,12 @@ public class MergeTask implements Callable<Void> {
     }
 
     for (TsFileResource seqFile : resource.getSeqFiles()) {
-      File mergeFile = new File(seqFile.getFile().getPath() + MERGE_SUFFIX);
+      File mergeFile = FSFactoryProducer.getFSFactory()
+          .getFile(seqFile.getFile().getPath() + MERGE_SUFFIX);
       mergeFile.delete();
     }
 
-    File logFile = new File(storageGroupSysDir, MergeLogger.MERGE_LOG_NAME);
+    File logFile = SystemFileFactory.INSTANCE.getFile(storageGroupSysDir, MergeLogger.MERGE_LOG_NAME);
     if (executeCallback) {
       // make sure merge.log is not deleted until unseqFiles are cleared so that when system
       // reboots, the undeleted files can be deleted again
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/RecoverMergeTask.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/RecoverMergeTask.java
index 84c4fab..93d0ae2 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/RecoverMergeTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/inplace/task/RecoverMergeTask.java
@@ -28,6 +28,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map.Entry;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.engine.fileSystem.SystemFileFactory;
 import org.apache.iotdb.db.engine.merge.MergeCallback;
 import org.apache.iotdb.db.engine.merge.inplace.recover.LogAnalyzer;
 import org.apache.iotdb.db.engine.merge.inplace.recover.LogAnalyzer.Status;
@@ -60,7 +61,7 @@ public class RecoverMergeTask extends MergeTask {
   }
 
   public void recoverMerge(boolean continueMerge) throws IOException, MetadataErrorException {
-    File logFile = new File(storageGroupSysDir, MergeLogger.MERGE_LOG_NAME);
+    File logFile = SystemFileFactory.INSTANCE.getFile(storageGroupSysDir, MergeLogger.MERGE_LOG_NAME);
     if (!logFile.exists()) {
       logger.info("{} no merge.log, merge recovery ends", taskName);
       return;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/recover/MergeLogger.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/recover/MergeLogger.java
index 0c152ff..b707dec 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/recover/MergeLogger.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/recover/MergeLogger.java
@@ -24,6 +24,7 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.List;
+import org.apache.iotdb.db.engine.fileSystem.SystemFileFactory;
 import org.apache.iotdb.db.engine.merge.manage.MergeResource;
 import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
 import org.apache.iotdb.tsfile.read.common.Path;
@@ -47,7 +48,8 @@ public class MergeLogger {
   private BufferedWriter logStream;
 
   public MergeLogger(String storageGroupDir) throws IOException {
-    logStream = new BufferedWriter(new FileWriter(new File(storageGroupDir, MERGE_LOG_NAME), true));
+    logStream = new BufferedWriter(new FileWriter(SystemFileFactory.INSTANCE.getFile(storageGroupDir,
+      MERGE_LOG_NAME), true));
   }
 
   public void close() throws IOException {
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/task/SqueezeMergeTask.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/task/SqueezeMergeTask.java
index 339a8c1..4e6ac3d 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/task/SqueezeMergeTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/task/SqueezeMergeTask.java
@@ -6,6 +6,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
+import org.apache.iotdb.db.engine.fileSystem.SystemFileFactory;
 import org.apache.iotdb.db.engine.merge.manage.MergeContext;
 import org.apache.iotdb.db.engine.merge.manage.MergeResource;
 import org.apache.iotdb.db.engine.merge.MergeCallback;
@@ -14,6 +15,7 @@ import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
 import org.apache.iotdb.db.exception.MetadataErrorException;
 import org.apache.iotdb.db.metadata.MManager;
 import org.apache.iotdb.db.utils.MergeUtils;
+import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 import org.apache.iotdb.tsfile.read.common.Path;
 import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 import org.slf4j.Logger;
@@ -56,7 +58,7 @@ public class SqueezeMergeTask implements Callable<Void> {
       // call the callback to make sure the StorageGroup exit merging status, but passing 2
       // empty file lists to avoid files being deleted.
       callback.call(
-          Collections.emptyList(), Collections.emptyList(), new File(storageGroupSysDir,
+          Collections.emptyList(), Collections.emptyList(), SystemFileFactory.INSTANCE.getFile(storageGroupSysDir,
               MergeLogger.MERGE_LOG_NAME), null);
       throw e;
     }
@@ -117,11 +119,12 @@ public class SqueezeMergeTask implements Callable<Void> {
     }
 
     for (TsFileResource seqFile : resource.getSeqFiles()) {
-      File mergeFile = new File(seqFile.getFile().getPath() + MERGE_SUFFIX);
+      File mergeFile = FSFactoryProducer.getFSFactory().getFile(seqFile.getFile().getPath() + MERGE_SUFFIX);
       mergeFile.delete();
     }
 
-    File logFile = new File(storageGroupSysDir, MergeLogger.MERGE_LOG_NAME);
+    File logFile = FSFactoryProducer.getFSFactory().getFile(storageGroupSysDir,
+        MergeLogger.MERGE_LOG_NAME);
     if (executeCallback) {
       // make sure merge.log is not deleted until unseqFiles are cleared so that when system
       // reboots, the undeleted files can be deleted again