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 2020/10/13 04:44:59 UTC

[iotdb] branch add_restart_logs created (now 81c359c)

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

jiangtian pushed a change to branch add_restart_logs
in repository https://gitbox.apache.org/repos/asf/iotdb.git.


      at 81c359c  add restart logs

This branch includes the following new commits:

     new 81c359c  add restart logs

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



[iotdb] 01/01: add restart logs

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

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

commit 81c359c1754688125cd9ab174fb450c36fe0438e
Author: jt <jt...@163.com>
AuthorDate: Tue Oct 13 12:44:37 2020 +0800

    add restart logs
---
 .../main/java/org/apache/iotdb/db/conf/IoTDBConfig.java  |  2 +-
 .../db/engine/storagegroup/StorageGroupProcessor.java    | 16 +++++++++++++++-
 .../src/main/java/org/apache/iotdb/db/service/IoTDB.java |  4 +++-
 .../db/writelog/recover/TsFileRecoverPerformer.java      |  2 ++
 4 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 54cf9e3..3ed0126 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -136,7 +136,7 @@ public class IoTDBConfig {
   /**
    * Is dynamic parameter adapter enable.
    */
-  private boolean enableParameterAdapter = true;
+  private boolean enableParameterAdapter = false;
 
   /**
    * Is the write ahead log enable.
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 a11080d..be3d742 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
@@ -284,7 +284,8 @@ public class StorageGroupProcessor {
   }
 
   private void recover() throws StorageGroupProcessorException {
-    logger.info("recover Storage Group  {}", storageGroupName);
+    long recoverStart = System.currentTimeMillis();
+    logger.info("recovering Storage Group {}", storageGroupName);
 
     try {
       // collect candidate TsFiles from sequential and unsequential data directory
@@ -305,12 +306,16 @@ public class StorageGroupProcessor {
           tmpSeqTsFiles);
       Map<Long, List<TsFileResource>> partitionTmpUnseqTsFiles = splitResourcesByPartition(
           tmpUnseqTsFiles);
+      long innerStart = System.currentTimeMillis();
       for (List<TsFileResource> value : partitionTmpSeqTsFiles.values()) {
         recoverTsFiles(value, true);
       }
+      logger.info("Recovery of seq files costs {}ms", System.currentTimeMillis() - innerStart);
+      innerStart = System.currentTimeMillis();
       for (List<TsFileResource> value : partitionTmpUnseqTsFiles.values()) {
         recoverTsFiles(value, false);
       }
+      logger.info("Recovery of unseq files costs {}ms", System.currentTimeMillis() - innerStart);
 
       for (TsFileResource resource : tsFileManagement.getTsFileList(true)) {
         long partitionNum = resource.getTimePartition();
@@ -336,12 +341,16 @@ public class StorageGroupProcessor {
           tsFileManagement.getTsFileList(false), storageGroupSysDir.getPath(), this::mergeEndAction,
           taskName,
           IoTDBDescriptor.getInstance().getConfig().isForceFullMerge(), storageGroupName);
+
+      innerStart = System.currentTimeMillis();
       logger.info("{} a RecoverMergeTask {} starts...", storageGroupName, taskName);
       recoverMergeTask
           .recoverMerge(IoTDBDescriptor.getInstance().getConfig().isContinueMergeAfterReboot());
       if (!IoTDBDescriptor.getInstance().getConfig().isContinueMergeAfterReboot()) {
         mergingMods.delete();
       }
+      logger.info("{} a RecoverMergeTask {} ends after {}ms", storageGroupName, taskName,
+          System.currentTimeMillis() - innerStart);
 
       updateLastestFlushedTime();
     } catch (IOException | MetadataException e) {
@@ -364,6 +373,8 @@ public class StorageGroupProcessor {
           .putAll(endTimeMap);
       globalLatestFlushedTimeForEachDevice.putAll(endTimeMap);
     }
+    logger.info("recovered Storage Group {} after {}ms", storageGroupName,
+        System.currentTimeMillis() - recoverStart);
   }
 
   private void updatePartitionFileVersion(long partitionNum, long fileVersion) {
@@ -563,7 +574,10 @@ public class StorageGroupProcessor {
 
       RestorableTsFileIOWriter writer;
       try {
+        long start = System.currentTimeMillis();
         writer = recoverPerformer.recover();
+        logger.debug("Recovery of {} costs {}ms", tsFileResource.getTsFile(),
+            System.currentTimeMillis() - start);
       } catch (StorageGroupProcessorException e) {
         logger.warn("Skip TsFile: {} because of error in recover: ", tsFileResource.getTsFilePath(),
             e);
diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
index 0aa3fc3..b5281e1 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
@@ -67,6 +67,7 @@ public class IoTDB implements IoTDBMBean {
   }
 
   public void active() {
+    long startTime = System.currentTimeMillis();
     StartupChecks checks = new StartupChecks().withDefaultTest();
     try {
       checks.verify();
@@ -84,7 +85,8 @@ public class IoTDB implements IoTDBMBean {
       logger.error("{} exit", IoTDBConstant.GLOBAL_DB_NAME);
       return;
     }
-    logger.info("{} has started.", IoTDBConstant.GLOBAL_DB_NAME);
+    logger.info("{} has started after {}ms.", IoTDBConstant.GLOBAL_DB_NAME,
+        System.currentTimeMillis() - startTime);
   }
 
   private void setUp() throws StartupException {
diff --git a/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java b/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java
index 4f1be33..7ae83b9 100644
--- a/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java
@@ -123,7 +123,9 @@ public class TsFileRecoverPerformer {
     recoverResourceFromWriter(restorableTsFileIOWriter);
 
     // redo logs
+    long start = System.currentTimeMillis();
     redoLogs(restorableTsFileIOWriter);
+    logger.debug("Redoing logs of {} costs {}ms", file, System.currentTimeMillis() - start);
 
     // clean logs
     try {