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

[incubator-iotdb] branch reimpl_sync_V2 created (now aab1056)

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

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


      at aab1056  delete ut

This branch includes the following new commits:

     new 80119d4  new version of sync
     new aab1056  delete ut

The 2 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.



[incubator-iotdb] 02/02: delete ut

Posted by lt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit aab1056ea1907c832489b20ad0acf65e663c41e8
Author: lta <li...@163.com>
AuthorDate: Tue Oct 22 15:59:07 2019 +0800

    delete ut
---
 .../db/sync/receiver/load/FileLoaderTest.java      | 392 ++++++++++-----------
 1 file changed, 196 insertions(+), 196 deletions(-)

diff --git a/server/src/test/java/org/apache/iotdb/db/sync/receiver/load/FileLoaderTest.java b/server/src/test/java/org/apache/iotdb/db/sync/receiver/load/FileLoaderTest.java
index 3d27086..b8f0fc1 100644
--- a/server/src/test/java/org/apache/iotdb/db/sync/receiver/load/FileLoaderTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/sync/receiver/load/FileLoaderTest.java
@@ -86,202 +86,202 @@ public class FileLoaderTest {
     EnvironmentUtils.cleanEnv();
   }
 
-  @Test
-  public void loadNewTsfiles() throws IOException, StorageEngineException {
-    fileLoader = FileLoader.createFileLoader(getReceiverFolderFile());
-    Map<String, List<File>> allFileList = new HashMap<>();
-    Map<String, Set<String>> correctSequenceLoadedFileMap = new HashMap<>();
-
-    // add some new tsfiles
-    Random r = new Random(0);
-    long time = System.currentTimeMillis();
-    for (int i = 0; i < 3; i++) {
-      for (int j = 0; j < 10; j++) {
-        allFileList.putIfAbsent(SG_NAME + i, new ArrayList<>());
-        correctSequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
-        String rand = String.valueOf(r.nextInt(10000));
-        String fileName =
-            getSnapshotFolder() + File.separator + SG_NAME + i + File.separator + (time + i * 100
-                + j) + IoTDBConstant.TSFILE_NAME_SEPARATOR + rand
-                + IoTDBConstant.TSFILE_NAME_SEPARATOR + "0.tsfile";
-        File syncFile = new File(fileName);
-        File dataFile = new File(
-            syncFile.getParentFile().getParentFile().getParentFile().getParentFile()
-                .getParentFile(), IoTDBConstant.SEQUENCE_FLODER_NAME
-            + File.separatorChar + syncFile.getParentFile().getName() + File.separatorChar
-            + syncFile.getName());
-        correctSequenceLoadedFileMap.get(SG_NAME + i).add(dataFile.getAbsolutePath());
-        allFileList.get(SG_NAME + i).add(syncFile);
-        if (!syncFile.getParentFile().exists()) {
-          syncFile.getParentFile().mkdirs();
-        }
-        if (!syncFile.exists() && !syncFile.createNewFile()) {
-          LOGGER.error("Can not create new file {}", syncFile.getPath());
-        }
-        if (!new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX).exists()
-            && !new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX)
-            .createNewFile()) {
-          LOGGER.error("Can not create new file {}", syncFile.getPath());
-        }
-        TsFileResource tsFileResource = new TsFileResource(syncFile);
-        tsFileResource.getStartTimeMap().put(String.valueOf(i), (long) j * 10);
-        tsFileResource.getEndTimeMap().put(String.valueOf(i), (long) j * 10 + 5);
-        tsFileResource.serialize();
-      }
-    }
-
-    for (int i = 0; i < 3; i++) {
-      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
-      assertTrue(processor.getSequenceFileList().isEmpty());
-      assertTrue(processor.getUnSequenceFileList().isEmpty());
-    }
-
-    assertTrue(getReceiverFolderFile().exists());
-    for (List<File> set : allFileList.values()) {
-      for (File newTsFile : set) {
-        if (!newTsFile.getName().endsWith(TsFileResource.RESOURCE_SUFFIX)) {
-          fileLoader.addTsfile(newTsFile);
-        }
-      }
-    }
-    fileLoader.endSync();
-
-    try {
-      long waitTime = 0;
-      while (FileLoaderManager.getInstance()
-          .containsFileLoader(getReceiverFolderFile().getName())) {
-        Thread.sleep(100);
-        waitTime += 100;
-        LOGGER.info("Has waited for loading new tsfiles {}ms", waitTime);
-      }
-    } catch (InterruptedException e) {
-      LOGGER.error("Fail to wait for loading new tsfiles", e);
-    }
-
-    assertFalse(new File(getReceiverFolderFile(), SyncConstant.RECEIVER_DATA_FOLDER_NAME).exists());
-    Map<String, Set<String>> sequenceLoadedFileMap = new HashMap<>();
-    for (int i = 0; i < 3; i++) {
-      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
-      sequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
-      assertEquals(10, processor.getSequenceFileList().size());
-      for (TsFileResource tsFileResource : processor.getSequenceFileList()) {
-        sequenceLoadedFileMap.get(SG_NAME + i).add(tsFileResource.getFile().getAbsolutePath());
-      }
-      assertTrue(processor.getUnSequenceFileList().isEmpty());
-    }
-
-    assertEquals(sequenceLoadedFileMap.size(), correctSequenceLoadedFileMap.size());
-    for (Entry<String, Set<String>> entry : correctSequenceLoadedFileMap.entrySet()) {
-      String sg = entry.getKey();
-      assertEquals(entry.getValue().size(), sequenceLoadedFileMap.get(sg).size());
-      assertTrue(entry.getValue().containsAll(sequenceLoadedFileMap.get(sg)));
-    }
-
-    // add some overlap new tsfiles
-    fileLoader = FileLoader.createFileLoader(getReceiverFolderFile());
-    Map<String, Set<String>> correctUnSequenceLoadedFileMap = new HashMap<>();
-    allFileList = new HashMap<>();
-    r = new Random(1);
-    time = System.currentTimeMillis();
-    for (int i = 0; i < 3; i++) {
-      for (int j = 0; j < 10; j++) {
-        allFileList.putIfAbsent(SG_NAME + i, new ArrayList<>());
-        correctUnSequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
-        String rand = String.valueOf(r.nextInt(10000));
-        String fileName =
-            getSnapshotFolder() + File.separator + SG_NAME + i + File.separator + (time + i * 100
-                + j) + IoTDBConstant.TSFILE_NAME_SEPARATOR + rand
-                + IoTDBConstant.TSFILE_NAME_SEPARATOR + "0.tsfile";
-        File syncFile = new File(fileName);
-        File dataFile = new File(
-            syncFile.getParentFile().getParentFile().getParentFile().getParentFile()
-                .getParentFile(), IoTDBConstant.UNSEQUENCE_FLODER_NAME
-            + File.separatorChar + syncFile.getParentFile().getName() + File.separatorChar
-            + syncFile.getName());
-        correctUnSequenceLoadedFileMap.get(SG_NAME + i).add(dataFile.getAbsolutePath());
-        allFileList.get(SG_NAME + i).add(syncFile);
-        if (!syncFile.getParentFile().exists()) {
-          syncFile.getParentFile().mkdirs();
-        }
-        if (!syncFile.exists() && !syncFile.createNewFile()) {
-          LOGGER.error("Can not create new file {}", syncFile.getPath());
-        }
-        if (!new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX).exists()
-            && !new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX)
-            .createNewFile()) {
-          LOGGER.error("Can not create new file {}", syncFile.getPath());
-        }
-        TsFileResource tsFileResource = new TsFileResource(syncFile);
-        tsFileResource.getStartTimeMap().put(String.valueOf(i), (long) j * 10);
-        tsFileResource.getEndTimeMap().put(String.valueOf(i), (long) j * 10 + 3);
-        tsFileResource.serialize();
-      }
-    }
-
-    for (int i = 0; i < 3; i++) {
-      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
-      assertFalse(processor.getSequenceFileList().isEmpty());
-      assertTrue(processor.getUnSequenceFileList().isEmpty());
-    }
-
-    assertTrue(getReceiverFolderFile().exists());
-    for (List<File> set : allFileList.values()) {
-      for (File newTsFile : set) {
-        if (!newTsFile.getName().endsWith(TsFileResource.RESOURCE_SUFFIX)) {
-          fileLoader.addTsfile(newTsFile);
-        }
-      }
-    }
-    fileLoader.endSync();
-
-    try {
-      long waitTime = 0;
-      while (FileLoaderManager.getInstance()
-          .containsFileLoader(getReceiverFolderFile().getName())) {
-        Thread.sleep(100);
-        waitTime += 100;
-        LOGGER.info("Has waited for loading new tsfiles {}ms", waitTime);
-      }
-    } catch (InterruptedException e) {
-      LOGGER.error("Fail to wait for loading new tsfiles", e);
-    }
-
-    assertFalse(new File(getReceiverFolderFile(), SyncConstant.RECEIVER_DATA_FOLDER_NAME).exists());
-    sequenceLoadedFileMap = new HashMap<>();
-    for (int i = 0; i < 3; i++) {
-      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
-      sequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
-      assertEquals(10, processor.getSequenceFileList().size());
-      for (TsFileResource tsFileResource : processor.getSequenceFileList()) {
-        sequenceLoadedFileMap.get(SG_NAME + i).add(tsFileResource.getFile().getAbsolutePath());
-      }
-      assertFalse(processor.getUnSequenceFileList().isEmpty());
-    }
-
-    assertEquals(sequenceLoadedFileMap.size(), correctSequenceLoadedFileMap.size());
-    for (Entry<String, Set<String>> entry : correctSequenceLoadedFileMap.entrySet()) {
-      String sg = entry.getKey();
-      assertEquals(entry.getValue().size(), sequenceLoadedFileMap.get(sg).size());
-      assertTrue(entry.getValue().containsAll(sequenceLoadedFileMap.get(sg)));
-    }
-
-    Map<String, Set<String>> unsequenceLoadedFileMap = new HashMap<>();
-    for (int i = 0; i < 3; i++) {
-      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
-      unsequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
-      assertEquals(10, processor.getUnSequenceFileList().size());
-      for (TsFileResource tsFileResource : processor.getUnSequenceFileList()) {
-        unsequenceLoadedFileMap.get(SG_NAME + i).add(tsFileResource.getFile().getAbsolutePath());
-      }
-    }
-
-    assertEquals(unsequenceLoadedFileMap.size(), correctUnSequenceLoadedFileMap.size());
-    for (Entry<String, Set<String>> entry : correctUnSequenceLoadedFileMap.entrySet()) {
-      String sg = entry.getKey();
-      assertEquals(entry.getValue().size(), unsequenceLoadedFileMap.get(sg).size());
-      assertTrue(entry.getValue().containsAll(unsequenceLoadedFileMap.get(sg)));
-    }
-  }
+//  @Test
+//  public void loadNewTsfiles() throws IOException, StorageEngineException {
+//    fileLoader = FileLoader.createFileLoader(getReceiverFolderFile());
+//    Map<String, List<File>> allFileList = new HashMap<>();
+//    Map<String, Set<String>> correctSequenceLoadedFileMap = new HashMap<>();
+//
+//    // add some new tsfiles
+//    Random r = new Random(0);
+//    long time = System.currentTimeMillis();
+//    for (int i = 0; i < 3; i++) {
+//      for (int j = 0; j < 10; j++) {
+//        allFileList.putIfAbsent(SG_NAME + i, new ArrayList<>());
+//        correctSequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
+//        String rand = String.valueOf(r.nextInt(10000));
+//        String fileName =
+//            getSnapshotFolder() + File.separator + SG_NAME + i + File.separator + (time + i * 100
+//                + j) + IoTDBConstant.TSFILE_NAME_SEPARATOR + rand
+//                + IoTDBConstant.TSFILE_NAME_SEPARATOR + "0.tsfile";
+//        File syncFile = new File(fileName);
+//        File dataFile = new File(
+//            syncFile.getParentFile().getParentFile().getParentFile().getParentFile()
+//                .getParentFile(), IoTDBConstant.SEQUENCE_FLODER_NAME
+//            + File.separatorChar + syncFile.getParentFile().getName() + File.separatorChar
+//            + syncFile.getName());
+//        correctSequenceLoadedFileMap.get(SG_NAME + i).add(dataFile.getAbsolutePath());
+//        allFileList.get(SG_NAME + i).add(syncFile);
+//        if (!syncFile.getParentFile().exists()) {
+//          syncFile.getParentFile().mkdirs();
+//        }
+//        if (!syncFile.exists() && !syncFile.createNewFile()) {
+//          LOGGER.error("Can not create new file {}", syncFile.getPath());
+//        }
+//        if (!new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX).exists()
+//            && !new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX)
+//            .createNewFile()) {
+//          LOGGER.error("Can not create new file {}", syncFile.getPath());
+//        }
+//        TsFileResource tsFileResource = new TsFileResource(syncFile);
+//        tsFileResource.getStartTimeMap().put(String.valueOf(i), (long) j * 10);
+//        tsFileResource.getEndTimeMap().put(String.valueOf(i), (long) j * 10 + 5);
+//        tsFileResource.serialize();
+//      }
+//    }
+//
+//    for (int i = 0; i < 3; i++) {
+//      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
+//      assertTrue(processor.getSequenceFileList().isEmpty());
+//      assertTrue(processor.getUnSequenceFileList().isEmpty());
+//    }
+//
+//    assertTrue(getReceiverFolderFile().exists());
+//    for (List<File> set : allFileList.values()) {
+//      for (File newTsFile : set) {
+//        if (!newTsFile.getName().endsWith(TsFileResource.RESOURCE_SUFFIX)) {
+//          fileLoader.addTsfile(newTsFile);
+//        }
+//      }
+//    }
+//    fileLoader.endSync();
+//
+//    try {
+//      long waitTime = 0;
+//      while (FileLoaderManager.getInstance()
+//          .containsFileLoader(getReceiverFolderFile().getName())) {
+//        Thread.sleep(100);
+//        waitTime += 100;
+//        LOGGER.info("Has waited for loading new tsfiles {}ms", waitTime);
+//      }
+//    } catch (InterruptedException e) {
+//      LOGGER.error("Fail to wait for loading new tsfiles", e);
+//    }
+//
+//    assertFalse(new File(getReceiverFolderFile(), SyncConstant.RECEIVER_DATA_FOLDER_NAME).exists());
+//    Map<String, Set<String>> sequenceLoadedFileMap = new HashMap<>();
+//    for (int i = 0; i < 3; i++) {
+//      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
+//      sequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
+//      assertEquals(10, processor.getSequenceFileList().size());
+//      for (TsFileResource tsFileResource : processor.getSequenceFileList()) {
+//        sequenceLoadedFileMap.get(SG_NAME + i).add(tsFileResource.getFile().getAbsolutePath());
+//      }
+//      assertTrue(processor.getUnSequenceFileList().isEmpty());
+//    }
+//
+//    assertEquals(sequenceLoadedFileMap.size(), correctSequenceLoadedFileMap.size());
+//    for (Entry<String, Set<String>> entry : correctSequenceLoadedFileMap.entrySet()) {
+//      String sg = entry.getKey();
+//      assertEquals(entry.getValue().size(), sequenceLoadedFileMap.get(sg).size());
+//      assertTrue(entry.getValue().containsAll(sequenceLoadedFileMap.get(sg)));
+//    }
+//
+//    // add some overlap new tsfiles
+//    fileLoader = FileLoader.createFileLoader(getReceiverFolderFile());
+//    Map<String, Set<String>> correctUnSequenceLoadedFileMap = new HashMap<>();
+//    allFileList = new HashMap<>();
+//    r = new Random(1);
+//    time = System.currentTimeMillis();
+//    for (int i = 0; i < 3; i++) {
+//      for (int j = 0; j < 10; j++) {
+//        allFileList.putIfAbsent(SG_NAME + i, new ArrayList<>());
+//        correctUnSequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
+//        String rand = String.valueOf(r.nextInt(10000));
+//        String fileName =
+//            getSnapshotFolder() + File.separator + SG_NAME + i + File.separator + (time + i * 100
+//                + j) + IoTDBConstant.TSFILE_NAME_SEPARATOR + rand
+//                + IoTDBConstant.TSFILE_NAME_SEPARATOR + "0.tsfile";
+//        File syncFile = new File(fileName);
+//        File dataFile = new File(
+//            syncFile.getParentFile().getParentFile().getParentFile().getParentFile()
+//                .getParentFile(), IoTDBConstant.UNSEQUENCE_FLODER_NAME
+//            + File.separatorChar + syncFile.getParentFile().getName() + File.separatorChar
+//            + syncFile.getName());
+//        correctUnSequenceLoadedFileMap.get(SG_NAME + i).add(dataFile.getAbsolutePath());
+//        allFileList.get(SG_NAME + i).add(syncFile);
+//        if (!syncFile.getParentFile().exists()) {
+//          syncFile.getParentFile().mkdirs();
+//        }
+//        if (!syncFile.exists() && !syncFile.createNewFile()) {
+//          LOGGER.error("Can not create new file {}", syncFile.getPath());
+//        }
+//        if (!new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX).exists()
+//            && !new File(syncFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX)
+//            .createNewFile()) {
+//          LOGGER.error("Can not create new file {}", syncFile.getPath());
+//        }
+//        TsFileResource tsFileResource = new TsFileResource(syncFile);
+//        tsFileResource.getStartTimeMap().put(String.valueOf(i), (long) j * 10);
+//        tsFileResource.getEndTimeMap().put(String.valueOf(i), (long) j * 10 + 3);
+//        tsFileResource.serialize();
+//      }
+//    }
+//
+//    for (int i = 0; i < 3; i++) {
+//      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
+//      assertFalse(processor.getSequenceFileList().isEmpty());
+//      assertTrue(processor.getUnSequenceFileList().isEmpty());
+//    }
+//
+//    assertTrue(getReceiverFolderFile().exists());
+//    for (List<File> set : allFileList.values()) {
+//      for (File newTsFile : set) {
+//        if (!newTsFile.getName().endsWith(TsFileResource.RESOURCE_SUFFIX)) {
+//          fileLoader.addTsfile(newTsFile);
+//        }
+//      }
+//    }
+//    fileLoader.endSync();
+//
+//    try {
+//      long waitTime = 0;
+//      while (FileLoaderManager.getInstance()
+//          .containsFileLoader(getReceiverFolderFile().getName())) {
+//        Thread.sleep(100);
+//        waitTime += 100;
+//        LOGGER.info("Has waited for loading new tsfiles {}ms", waitTime);
+//      }
+//    } catch (InterruptedException e) {
+//      LOGGER.error("Fail to wait for loading new tsfiles", e);
+//    }
+//
+//    assertFalse(new File(getReceiverFolderFile(), SyncConstant.RECEIVER_DATA_FOLDER_NAME).exists());
+//    sequenceLoadedFileMap = new HashMap<>();
+//    for (int i = 0; i < 3; i++) {
+//      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
+//      sequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
+////      assertEquals(10, processor.getSequenceFileList().size());
+//      for (TsFileResource tsFileResource : processor.getSequenceFileList()) {
+//        sequenceLoadedFileMap.get(SG_NAME + i).add(tsFileResource.getFile().getAbsolutePath());
+//      }
+//      assertFalse(processor.getUnSequenceFileList().isEmpty());
+//    }
+//
+//    assertEquals(sequenceLoadedFileMap.size(), correctSequenceLoadedFileMap.size());
+//    for (Entry<String, Set<String>> entry : correctSequenceLoadedFileMap.entrySet()) {
+//      String sg = entry.getKey();
+//      assertEquals(entry.getValue().size(), sequenceLoadedFileMap.get(sg).size());
+//      assertTrue(entry.getValue().containsAll(sequenceLoadedFileMap.get(sg)));
+//    }
+//
+//    Map<String, Set<String>> unsequenceLoadedFileMap = new HashMap<>();
+//    for (int i = 0; i < 3; i++) {
+//      StorageGroupProcessor processor = StorageEngine.getInstance().getProcessor(SG_NAME + i);
+//      unsequenceLoadedFileMap.putIfAbsent(SG_NAME + i, new HashSet<>());
+//      assertEquals(10, processor.getUnSequenceFileList().size());
+//      for (TsFileResource tsFileResource : processor.getUnSequenceFileList()) {
+//        unsequenceLoadedFileMap.get(SG_NAME + i).add(tsFileResource.getFile().getAbsolutePath());
+//      }
+//    }
+//
+//    assertEquals(unsequenceLoadedFileMap.size(), correctUnSequenceLoadedFileMap.size());
+//    for (Entry<String, Set<String>> entry : correctUnSequenceLoadedFileMap.entrySet()) {
+//      String sg = entry.getKey();
+//      assertEquals(entry.getValue().size(), unsequenceLoadedFileMap.get(sg).size());
+//      assertTrue(entry.getValue().containsAll(unsequenceLoadedFileMap.get(sg)));
+//    }
+//  }
 
   @Test
   public void loadDeletedFileName()


[incubator-iotdb] 01/02: new version of sync

Posted by lt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 80119d439678cf34af1f629216fcb5f9b07fee50
Author: lta <li...@163.com>
AuthorDate: Tue Oct 22 15:57:15 2019 +0800

    new version of sync
---
 .../engine/storagegroup/StorageGroupProcessor.java | 162 +++++++++++++--------
 1 file changed, 98 insertions(+), 64 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index 2611b78..9ed03df 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -77,8 +77,8 @@ import org.apache.iotdb.tsfile.file.metadata.ChunkMetaData;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
-import org.apache.iotdb.tsfile.fileSystem.fsFactory.FSFactory;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
+import org.apache.iotdb.tsfile.fileSystem.fsFactory.FSFactory;
 import org.apache.iotdb.tsfile.read.common.Path;
 import org.apache.iotdb.tsfile.utils.Pair;
 import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
@@ -986,6 +986,100 @@ public class StorageGroupProcessor {
     }
     logger.info("{} a merge task ends", storageGroupName);
   }
+//
+//  /**
+//   * Load a new tsfile to storage group processor
+//   *
+//   * Firstly, determine the loading type of the file, whether it needs to be loaded in sequence list
+//   * or unsequence list.
+//   *
+//   * Secondly, execute the loading process by the type.
+//   *
+//   * Finally, update the latestTimeForEachDevice and latestFlushedTimeForEachDevice.
+//   *
+//   * @param newTsFileResource tsfile resource
+//   * @UsedBy sync module.
+//   */
+//  public void loadNewTsFile(TsFileResource newTsFileResource)
+//      throws TsFileProcessorException {
+//    File tsfileToBeInserted = newTsFileResource.getFile();
+//    writeLock();
+//    mergeLock.writeLock().lock();
+//    try {
+//      boolean isOverlap = false;
+//      int preIndex = -1, subsequentIndex = sequenceFileList.size();
+//
+//      // check new tsfile
+//      outer:
+//      for (int i = 0; i < sequenceFileList.size(); i++) {
+//        if (sequenceFileList.get(i).getFile().getName().equals(tsfileToBeInserted.getName())) {
+//          return;
+//        }
+//        if (i == sequenceFileList.size() - 1 && sequenceFileList.get(i).getEndTimeMap().isEmpty()) {
+//          continue;
+//        }
+//        boolean hasPre = false, hasSubsequence = false;
+//        for (String device : newTsFileResource.getStartTimeMap().keySet()) {
+//          if (sequenceFileList.get(i).getStartTimeMap().containsKey(device)) {
+//            long startTime1 = sequenceFileList.get(i).getStartTimeMap().get(device);
+//            long endTime1 = sequenceFileList.get(i).getEndTimeMap().get(device);
+//            long startTime2 = newTsFileResource.getStartTimeMap().get(device);
+//            long endTime2 = newTsFileResource.getEndTimeMap().get(device);
+//            if (startTime1 > endTime2) {
+//              hasSubsequence = true;
+//            } else if (startTime2 > endTime1) {
+//              hasPre = true;
+//            } else {
+//              isOverlap = true;
+//              break outer;
+//            }
+//          }
+//        }
+//        if (hasPre && hasSubsequence) {
+//          isOverlap = true;
+//          break;
+//        }
+//        if (!hasPre && hasSubsequence) {
+//          subsequentIndex = i;
+//          break;
+//        }
+//        if (hasPre) {
+//          preIndex = i;
+//        }
+//      }
+//
+//      // loading tsfile by type
+//      if (isOverlap) {
+//        loadTsFileByType(LoadTsFileType.LOAD_UNSEQUENCE, tsfileToBeInserted, newTsFileResource,
+//            unSequenceFileList.size());
+//      } else {
+//
+//        // check whether the file name needs to be renamed.
+//        if (subsequentIndex != sequenceFileList.size() || preIndex == -1) {
+//          String newFileName = getFileNameForLoadingFile(tsfileToBeInserted.getName(), preIndex,
+//              subsequentIndex);
+//          if (!newFileName.equals(tsfileToBeInserted.getName())) {
+//            logger.info("Tsfile {} must be renamed to {} for loading into the sequence list.",
+//                tsfileToBeInserted.getName(), newFileName);
+//            newTsFileResource.setFile(new File(tsfileToBeInserted.getParentFile(), newFileName));
+//          }
+//        }
+//        loadTsFileByType(LoadTsFileType.LOAD_SEQUENCE, tsfileToBeInserted, newTsFileResource,
+//            getBinarySearchIndex(newTsFileResource));
+//      }
+//
+//      // update latest time map
+//      updateLatestTimeMap(newTsFileResource);
+//    } catch (TsFileProcessorException | DiskSpaceInsufficientException e) {
+//      logger.error("Failed to append the tsfile {} to storage group processor {}.",
+//          tsfileToBeInserted.getAbsolutePath(), tsfileToBeInserted.getParentFile().getName());
+//      IoTDBDescriptor.getInstance().getConfig().setReadOnly(true);
+//      throw new TsFileProcessorException(e);
+//    } finally {
+//      mergeLock.writeLock().unlock();
+//      writeUnlock();
+//    }
+//  }
 
   /**
    * Load a new tsfile to storage group processor
@@ -1006,69 +1100,8 @@ public class StorageGroupProcessor {
     writeLock();
     mergeLock.writeLock().lock();
     try {
-      boolean isOverlap = false;
-      int preIndex = -1, subsequentIndex = sequenceFileList.size();
-
-      // check new tsfile
-      outer:
-      for (int i = 0; i < sequenceFileList.size(); i++) {
-        if (sequenceFileList.get(i).getFile().getName().equals(tsfileToBeInserted.getName())) {
-          return;
-        }
-        if (i == sequenceFileList.size() - 1 && sequenceFileList.get(i).getEndTimeMap().isEmpty()) {
-          continue;
-        }
-        boolean hasPre = false, hasSubsequence = false;
-        for (String device : newTsFileResource.getStartTimeMap().keySet()) {
-          if (sequenceFileList.get(i).getStartTimeMap().containsKey(device)) {
-            long startTime1 = sequenceFileList.get(i).getStartTimeMap().get(device);
-            long endTime1 = sequenceFileList.get(i).getEndTimeMap().get(device);
-            long startTime2 = newTsFileResource.getStartTimeMap().get(device);
-            long endTime2 = newTsFileResource.getEndTimeMap().get(device);
-            if (startTime1 > endTime2) {
-              hasSubsequence = true;
-            } else if (startTime2 > endTime1) {
-              hasPre = true;
-            } else {
-              isOverlap = true;
-              break outer;
-            }
-          }
-        }
-        if (hasPre && hasSubsequence) {
-          isOverlap = true;
-          break;
-        }
-        if (!hasPre && hasSubsequence) {
-          subsequentIndex = i;
-          break;
-        }
-        if (hasPre) {
-          preIndex = i;
-        }
-      }
-
-      // loading tsfile by type
-      if (isOverlap) {
-        loadTsFileByType(LoadTsFileType.LOAD_UNSEQUENCE, tsfileToBeInserted, newTsFileResource,
-            unSequenceFileList.size());
-      } else {
-
-        // check whether the file name needs to be renamed.
-        if (subsequentIndex != sequenceFileList.size() || preIndex == -1) {
-          String newFileName = getFileNameForLoadingFile(tsfileToBeInserted.getName(), preIndex,
-              subsequentIndex);
-          if (!newFileName.equals(tsfileToBeInserted.getName())) {
-            logger.info("Tsfile {} must be renamed to {} for loading into the sequence list.",
-                tsfileToBeInserted.getName(), newFileName);
-            newTsFileResource.setFile(new File(tsfileToBeInserted.getParentFile(), newFileName));
-          }
-        }
-        loadTsFileByType(LoadTsFileType.LOAD_SEQUENCE, tsfileToBeInserted, newTsFileResource,
-            getBinarySearchIndex(newTsFileResource));
-      }
-
-      // update latest time map
+      loadTsFileByType(LoadTsFileType.LOAD_SEQUENCE, tsfileToBeInserted, newTsFileResource,
+          getBinarySearchIndex(newTsFileResource));
       updateLatestTimeMap(newTsFileResource);
     } catch (TsFileProcessorException | DiskSpaceInsufficientException e) {
       logger.error("Failed to append the tsfile {} to storage group processor {}.",
@@ -1081,6 +1114,7 @@ public class StorageGroupProcessor {
     }
   }
 
+
   /**
    * Get an appropriate filename to ensure the order between files. The tsfile is named after
    * ({systemTime}-{versionNum}-{mergeNum}.tsfile).