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

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

commit b926c24f86373e50bd1d0db41b4a9de4c95458a1
Author: qiaojialin <[email protected]>
AuthorDate: Tue Sep 1 22:44:34 2020 +0800

    schedual delay
---
 .../iotdb/db/writelog/manager/MultiFileLogNodeManager.java       | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/writelog/manager/MultiFileLogNodeManager.java
 
b/server/src/main/java/org/apache/iotdb/db/writelog/manager/MultiFileLogNodeManager.java
index 40e8fd9..029cd37 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/writelog/manager/MultiFileLogNodeManager.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/writelog/manager/MultiFileLogNodeManager.java
@@ -45,6 +45,7 @@ public class MultiFileLogNodeManager implements 
WriteLogNodeManager, IService {
 
   private ScheduledExecutorService executorService;
   private IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
+  long counter = 0;
 
   private final void forceTask(){
         if (IoTDBDescriptor.getInstance().getConfig().isReadOnly()) {
@@ -56,6 +57,7 @@ public class MultiFileLogNodeManager implements 
WriteLogNodeManager, IService {
           return;
         }
 
+        long s = System.currentTimeMillis();
         for (WriteLogNode node : nodeMap.values()) {
           try {
             node.forceSync();
@@ -63,6 +65,11 @@ public class MultiFileLogNodeManager implements 
WriteLogNodeManager, IService {
             logger.error("Cannot force {}, because ", node, e);
           }
         }
+        counter++;
+        if (counter % 100 == 0) {
+          System.out.println("forceSync cost: " + (System.currentTimeMillis() 
- s));
+        }
+
   }
 
   private MultiFileLogNodeManager() {
@@ -117,7 +124,7 @@ public class MultiFileLogNodeManager implements 
WriteLogNodeManager, IService {
       }
       if (config.getForceWalPeriodInMs() > 0) {
         executorService = Executors.newSingleThreadScheduledExecutor();
-        executorService.scheduleAtFixedRate(this::forceTask, 
config.getForceWalPeriodInMs(),
+        executorService.scheduleWithFixedDelay(this::forceTask, 
config.getForceWalPeriodInMs(),
             config.getForceWalPeriodInMs(), TimeUnit.MILLISECONDS);
       }
     } catch (Exception e) {

Reply via email to