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

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


The following commit(s) were added to refs/heads/cluster_tpc by this push:
     new dc61024  Move timer to server module
dc61024 is described below

commit dc610243df874a478d6ad709f4243609b894d643
Author: jt <[email protected]>
AuthorDate: Thu Oct 8 14:53:33 2020 +0800

    Move timer to server module
---
 .../apache/iotdb/cluster/log/LogDispatcher.java    |  2 +-
 .../cluster/log/applier/AsyncDataLogApplier.java   |  4 +-
 .../iotdb/cluster/log/applier/DataLogApplier.java  |  4 +-
 .../iotdb/cluster/log/manage/RaftLogManager.java   |  4 +-
 .../apache/iotdb/cluster/server/NodeReport.java    |  1 +
 .../handlers/caller/AppendNodeEntryHandler.java    |  4 +-
 .../cluster/server/member/DataGroupMember.java     |  4 +-
 .../cluster/server/member/MetaGroupMember.java     |  2 +-
 .../iotdb/cluster/server/member/RaftMember.java    |  4 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |  2 +-
 server/pom.xml                                     |  5 --
 .../org/apache/iotdb/db/engine/StorageEngine.java  | 14 +++--
 .../java/org/apache/iotdb/db/utils}/Timer.java     | 71 +++++++++++++---------
 13 files changed, 67 insertions(+), 54 deletions(-)

diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java
index b89328d..e887adc 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java
@@ -37,7 +37,7 @@ import org.apache.iotdb.cluster.rpc.thrift.Node;
 import org.apache.iotdb.cluster.rpc.thrift.RaftService.AsyncClient;
 import org.apache.iotdb.cluster.rpc.thrift.RaftService.Client;
 import org.apache.iotdb.cluster.server.Peer;
-import org.apache.iotdb.cluster.server.Timer;
+import org.apache.iotdb.db.utils.Timer;
 import org.apache.iotdb.cluster.server.handlers.caller.AppendNodeEntryHandler;
 import org.apache.iotdb.cluster.server.member.RaftMember;
 import org.apache.iotdb.cluster.utils.ClientUtils;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java
index 1791ff2..ccb14d8 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java
@@ -32,8 +32,8 @@ import org.apache.iotdb.cluster.log.Log;
 import org.apache.iotdb.cluster.log.LogApplier;
 import org.apache.iotdb.cluster.log.logtypes.CloseFileLog;
 import org.apache.iotdb.cluster.log.logtypes.PhysicalPlanLog;
-import org.apache.iotdb.cluster.server.Timer;
-import org.apache.iotdb.cluster.server.Timer.Statistic;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
 import org.apache.iotdb.db.exception.metadata.IllegalPathException;
 import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
 import org.apache.iotdb.db.metadata.PartialPath;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java
index cdc1b89..95cc98b 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java
@@ -25,8 +25,8 @@ import org.apache.iotdb.cluster.log.Log;
 import org.apache.iotdb.cluster.log.logtypes.CloseFileLog;
 import org.apache.iotdb.cluster.log.logtypes.PhysicalPlanLog;
 import org.apache.iotdb.cluster.partition.slot.SlotPartitionTable;
-import org.apache.iotdb.cluster.server.Timer;
-import org.apache.iotdb.cluster.server.Timer.Statistic;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
 import org.apache.iotdb.cluster.server.member.DataGroupMember;
 import org.apache.iotdb.cluster.server.member.MetaGroupMember;
 import org.apache.iotdb.db.engine.StorageEngine;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
index f5395e3..30a229e 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
@@ -44,8 +44,8 @@ import org.apache.iotdb.cluster.log.Log;
 import org.apache.iotdb.cluster.log.LogApplier;
 import org.apache.iotdb.cluster.log.Snapshot;
 import org.apache.iotdb.cluster.log.StableEntryManager;
-import org.apache.iotdb.cluster.server.Timer;
-import org.apache.iotdb.cluster.server.Timer.Statistic;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
 import org.apache.iotdb.db.utils.TestOnly;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java
index 2934eef..5803930 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.cluster.server;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.iotdb.cluster.rpc.thrift.Node;
+import org.apache.iotdb.db.utils.Timer;
 
 /**
  * A node report collects the current runtime information of the local node, 
which contains:
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java
index 107191b..bfef59b 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java
@@ -28,8 +28,8 @@ import java.util.concurrent.atomic.AtomicLong;
 import org.apache.iotdb.cluster.log.Log;
 import org.apache.iotdb.cluster.rpc.thrift.Node;
 import org.apache.iotdb.cluster.server.Peer;
-import org.apache.iotdb.cluster.server.Timer;
-import org.apache.iotdb.cluster.server.Timer.Statistic;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
 import org.apache.iotdb.cluster.server.member.RaftMember;
 import org.apache.thrift.async.AsyncMethodCallback;
 import org.slf4j.Logger;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
index b6c5f87..e70c8a1 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
@@ -82,8 +82,8 @@ import 
org.apache.iotdb.cluster.server.NodeReport.DataMemberReport;
 import org.apache.iotdb.cluster.server.Peer;
 import org.apache.iotdb.cluster.server.PullSnapshotHintService;
 import org.apache.iotdb.cluster.server.Response;
-import org.apache.iotdb.cluster.server.Timer;
-import org.apache.iotdb.cluster.server.Timer.Statistic;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
 import org.apache.iotdb.cluster.server.heartbeat.DataHeartbeatThread;
 import org.apache.iotdb.cluster.utils.StatusUtils;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
index 38e3e87..a3762e4 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
@@ -108,7 +108,7 @@ import org.apache.iotdb.cluster.server.NodeReport;
 import org.apache.iotdb.cluster.server.NodeReport.MetaMemberReport;
 import org.apache.iotdb.cluster.server.RaftServer;
 import org.apache.iotdb.cluster.server.Response;
-import org.apache.iotdb.cluster.server.Timer;
+import org.apache.iotdb.db.utils.Timer;
 import org.apache.iotdb.cluster.server.handlers.caller.AppendGroupEntryHandler;
 import org.apache.iotdb.cluster.server.handlers.caller.GenericHandler;
 import org.apache.iotdb.cluster.server.handlers.caller.NodeStatusHandler;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
index 281a03d..03d9e8a 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -73,8 +73,8 @@ import org.apache.iotdb.cluster.server.NodeCharacter;
 import org.apache.iotdb.cluster.server.Peer;
 import org.apache.iotdb.cluster.server.RaftServer;
 import org.apache.iotdb.cluster.server.Response;
-import org.apache.iotdb.cluster.server.Timer;
-import org.apache.iotdb.cluster.server.Timer.Statistic;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
 import org.apache.iotdb.cluster.server.handlers.caller.AppendNodeEntryHandler;
 import org.apache.iotdb.cluster.server.handlers.caller.GenericHandler;
 import org.apache.iotdb.cluster.utils.ClientUtils;
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/ClusterMonitor.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/ClusterMonitor.java
index 2892b55..7cbe1f2 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/ClusterMonitor.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/ClusterMonitor.java
@@ -28,7 +28,7 @@ import org.apache.iotdb.cluster.partition.PartitionTable;
 import org.apache.iotdb.cluster.partition.slot.SlotPartitionTable;
 import org.apache.iotdb.cluster.rpc.thrift.Node;
 import org.apache.iotdb.cluster.server.MetaClusterServer;
-import org.apache.iotdb.cluster.server.Timer;
+import org.apache.iotdb.db.utils.Timer;
 import org.apache.iotdb.cluster.server.member.MetaGroupMember;
 import org.apache.iotdb.db.conf.IoTDBConstant;
 import org.apache.iotdb.db.exception.StartupException;
diff --git a/server/pom.xml b/server/pom.xml
index 00a76d1..157e677 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -76,11 +76,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.iotdb</groupId>
-            <artifactId>cluster</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-collections4</artifactId>
         </dependency>
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java 
b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
index ef04d30..0e15393 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
@@ -20,7 +20,6 @@ package org.apache.iotdb.db.engine;
 
 import java.io.File;
 import java.io.IOException;
-import java.sql.Time;
 import java.util.ArrayList;
 import java.util.ConcurrentModificationException;
 import java.util.HashMap;
@@ -37,8 +36,6 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.commons.io.FileUtils;
-import org.apache.iotdb.cluster.server.Timer;
-import org.apache.iotdb.cluster.server.Timer.Statistic;
 import org.apache.iotdb.db.concurrent.IoTDBThreadPoolFactory;
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
@@ -74,6 +71,8 @@ import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.db.service.ServiceType;
 import org.apache.iotdb.db.utils.FilePathUtils;
 import org.apache.iotdb.db.utils.TestOnly;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
 import org.apache.iotdb.db.utils.UpgradeUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -440,6 +439,10 @@ public class StorageEngine implements IService {
   public void closeProcessor(PartialPath storageGroupPath, long partitionId, 
boolean isSeq,
       boolean isSync)
       throws StorageGroupNotSetException {
+    long allStart;
+    if (Timer.ENABLE_INSTRUMENTING) {
+      allStart = System.nanoTime();
+    }
     StorageGroupProcessor processor = processorMap.get(storageGroupPath);
     if (processor != null) {
       logger.info("async closing sg processor is called for closing {}, seq = 
{}, partitionId = {}",
@@ -449,7 +452,7 @@ public class StorageEngine implements IService {
         start = System.nanoTime();
       }
       processor.writeLock();
-      Statistic.RAFT_SENDER_CLOSE_FILE_LOCK_PROCESSOR.addNanoFromStart(start);
+      Statistic.CLOSE_FILE_LOCK_PROCESSOR.addNanoFromStart(start);
       // to avoid concurrent modification problem, we need a new array list
       List<TsFileProcessor> processors = isSeq ?
           new ArrayList<>(processor.getWorkSequenceTsFileProcessors()) :
@@ -465,12 +468,13 @@ public class StorageEngine implements IService {
             } else {
               processor.asyncCloseOneTsFileProcessor(isSeq, tsfileProcessor);
             }
-            
Statistic.RAFT_SENDER_CLOSE_FILE_CLOSE_PROCESSOR.addNanoFromStart(start);
+            Statistic.CLOSE_FILE_CLOSE_PROCESSOR.addNanoFromStart(start);
             break;
           }
         }
       } finally {
         processor.writeUnlock();
+        Statistic.CLOSE_FILE.addNanoFromStart(allStart);
       }
     } else {
       throw new StorageGroupNotSetException(storageGroupPath.getFullPath());
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java 
b/server/src/main/java/org/apache/iotdb/db/utils/Timer.java
similarity index 81%
rename from cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
rename to server/src/main/java/org/apache/iotdb/db/utils/Timer.java
index 9c1c0d0..1a63320 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/Timer.java
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.iotdb.cluster.server;
+package org.apache.iotdb.db.utils;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicLong;
-import org.apache.iotdb.cluster.server.member.RaftMember;
 
 public class Timer {
 
   public static final boolean ENABLE_INSTRUMENTING = true;
+  private static boolean raftUseLogDispatcher = true;
 
   private static final String META_GROUP_MEMBER = "Meta group member";
   private static final String DATA_GROUP_MEMBER = "Data group member";
@@ -38,6 +38,14 @@ public class Timer {
   // convert nano to milli
   private static final double TIME_SCALE = 1_000_000.0;
 
+  public static boolean isRaftUseLogDispatcher() {
+    return raftUseLogDispatcher;
+  }
+
+  public static void setRaftUseLogDispatcher(boolean raftUseLogDispatcher) {
+    Timer.raftUseLogDispatcher = raftUseLogDispatcher;
+  }
+
   public enum Statistic {
     // A dummy root for the convenience of prints
     ROOT(
@@ -63,25 +71,25 @@ public class Timer {
         META_GROUP_MEMBER_EXECUTE_NON_QUERY_IN_LOCAL_GROUP),
     // raft member - sender
     RAFT_SENDER_APPEND_LOG(
-        RAFT_MEMBER_SENDER, "locally append log", TIME_SCALE, 
!RaftMember.USE_LOG_DISPATCHER,
+        RAFT_MEMBER_SENDER, "locally append log", TIME_SCALE, 
!isRaftUseLogDispatcher(),
         DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_APPEND_V2(
         RAFT_MEMBER_SENDER, "compete for log manager before append", 
TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, DATA_GROUP_MEMBER_LOCAL_EXECUTION),
+        isRaftUseLogDispatcher(), DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_APPEND_LOG_V2(
         RAFT_MEMBER_SENDER, "locally append log", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, DATA_GROUP_MEMBER_LOCAL_EXECUTION),
+        isRaftUseLogDispatcher(), DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_BUILD_LOG_REQUEST(
         RAFT_MEMBER_SENDER, "build SendLogRequest", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, DATA_GROUP_MEMBER_LOCAL_EXECUTION),
+        isRaftUseLogDispatcher(), DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_BUILD_APPEND_REQUEST(
         RAFT_MEMBER_SENDER, "build AppendEntryRequest", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_BUILD_LOG_REQUEST),
+        isRaftUseLogDispatcher(), RAFT_SENDER_BUILD_LOG_REQUEST),
     RAFT_SENDER_OFFER_LOG(
         RAFT_MEMBER_SENDER, "offer log to dispatcher", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, DATA_GROUP_MEMBER_LOCAL_EXECUTION),
+        isRaftUseLogDispatcher(), DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_SEND_LOG_TO_FOLLOWERS(
-        RAFT_MEMBER_SENDER, "send log to followers", TIME_SCALE, 
!RaftMember.USE_LOG_DISPATCHER,
+        RAFT_MEMBER_SENDER, "send log to followers", TIME_SCALE, 
!isRaftUseLogDispatcher(),
         DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_WAIT_FOR_PREV_LOG(
         RAFT_MEMBER_SENDER, "sender wait for prev log", TIME_SCALE, true,
@@ -90,41 +98,41 @@ public class Timer {
         RAFT_MEMBER_SENDER, "send log", TIME_SCALE, true, 
RAFT_SENDER_SEND_LOG_TO_FOLLOWERS),
     RAFT_SENDER_VOTE_COUNTER(
         RAFT_MEMBER_SENDER, "wait for votes", TIME_SCALE, true,
-        RaftMember.USE_LOG_DISPATCHER ? DATA_GROUP_MEMBER_LOCAL_EXECUTION
+        isRaftUseLogDispatcher() ? DATA_GROUP_MEMBER_LOCAL_EXECUTION
             : RAFT_SENDER_SEND_LOG_TO_FOLLOWERS),
     RAFT_SENDER_COMMIT_LOG(
-        RAFT_MEMBER_SENDER, "locally commit log", TIME_SCALE, 
!RaftMember.USE_LOG_DISPATCHER,
+        RAFT_MEMBER_SENDER, "locally commit log", TIME_SCALE, 
!isRaftUseLogDispatcher(),
         DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_COMMIT_LOG_V2(
         RAFT_MEMBER_SENDER, "locally commit log(using dispatcher)", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, DATA_GROUP_MEMBER_LOCAL_EXECUTION),
+        isRaftUseLogDispatcher(), DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_COMMIT_V2(
         RAFT_MEMBER_SENDER, "compete for log manager before commit", 
TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_LOG_V2),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_LOG_V2),
     RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2(
         RAFT_MEMBER_SENDER, "commit log in log manager", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_LOG_V2),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_LOG_V2),
     RAFT_SENDER_COMMIT_GET_LOGS(
         RAFT_MEMBER_SENDER, "get logs to be committed", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
     RAFT_SENDER_COMMIT_DELETE_EXCEEDING_LOGS(
         RAFT_MEMBER_SENDER, "delete logs exceeding capacity", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
     RAFT_SENDER_COMMIT_APPEND_AND_STABLE_LOGS(
         RAFT_MEMBER_SENDER, "append and stable committed logs", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
     RAFT_SENDER_COMMIT_APPLY_LOGS(
         RAFT_MEMBER_SENDER, "apply after committing logs", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_LOG_IN_MANAGER_V2),
     RAFT_SENDER_COMMIT_TO_CONSUMER_LOGS(
         RAFT_MEMBER_SENDER, "provide log to consumer", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_APPLY_LOGS),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_APPLY_LOGS),
     RAFT_SENDER_COMMIT_EXCLUSIVE_LOGS(
         RAFT_MEMBER_SENDER, "apply logs that cannot run in parallel", 
TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_APPLY_LOGS),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_APPLY_LOGS),
     RAFT_SENDER_COMMIT_WAIT_LOG_APPLY_V2(
         RAFT_MEMBER_SENDER, "wait until log is applied", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, RAFT_SENDER_COMMIT_LOG_V2),
+        isRaftUseLogDispatcher(), RAFT_SENDER_COMMIT_LOG_V2),
     RAFT_SENDER_IN_APPLY_QUEUE(
         RAFT_MEMBER_SENDER, "in apply queue", TIME_SCALE, true,
         RAFT_SENDER_COMMIT_WAIT_LOG_APPLY_V2),
@@ -134,15 +142,9 @@ public class Timer {
     RAFT_SENDER_CLOSE_FILE_LOG_APPLY(
         RAFT_MEMBER_SENDER, "apply close file log", TIME_SCALE, true,
         RAFT_SENDER_DATA_LOG_APPLY),
-    RAFT_SENDER_CLOSE_FILE_LOCK_PROCESSOR(
-        RAFT_MEMBER_SENDER, "close file - lock processor", TIME_SCALE, true,
-        RAFT_SENDER_CLOSE_FILE_LOG_APPLY),
-    RAFT_SENDER_CLOSE_FILE_CLOSE_PROCESSOR(
-        RAFT_MEMBER_SENDER, "close file - close processor", TIME_SCALE, true,
-        RAFT_SENDER_CLOSE_FILE_LOG_APPLY),
     RAFT_SENDER_LOG_FROM_CREATE_TO_ACCEPT(
         RAFT_MEMBER_SENDER, "log from create to accept", TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER, DATA_GROUP_MEMBER_LOCAL_EXECUTION),
+        isRaftUseLogDispatcher(), DATA_GROUP_MEMBER_LOCAL_EXECUTION),
     // raft member - receiver
     RAFT_RECEIVER_LOG_PARSE(
         RAFT_MEMBER_RECEIVER, "log parse", TIME_SCALE, true, 
RAFT_SENDER_SEND_LOG),
@@ -158,7 +160,18 @@ public class Timer {
         META_GROUP_MEMBER_EXECUTE_NON_QUERY_IN_LOCAL_GROUP),
     LOG_DISPATCHER_FROM_CREATE_TO_END(
         LOG_DISPATCHER, "from create to end", TIME_SCALE, true,
-        META_GROUP_MEMBER_EXECUTE_NON_QUERY_IN_LOCAL_GROUP);
+        META_GROUP_MEMBER_EXECUTE_NON_QUERY_IN_LOCAL_GROUP),
+    // stand-alone operations
+    CLOSE_FILE(
+        RAFT_MEMBER_SENDER, "close file", TIME_SCALE, true,
+        RAFT_SENDER_CLOSE_FILE_LOG_APPLY),
+    CLOSE_FILE_LOCK_PROCESSOR(
+        RAFT_MEMBER_SENDER, "close file - lock processor", TIME_SCALE, true,
+        CLOSE_FILE),
+    CLOSE_FILE_CLOSE_PROCESSOR(
+        RAFT_MEMBER_SENDER, "close file - close processor", TIME_SCALE, true,
+        CLOSE_FILE);
+
 
     String className;
     String blockName;

Reply via email to