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

jackietien pushed a commit to branch ty/TableModelGrammar
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 4fc150bfacfeba016c5542ee14fdc5b3834f8ae2
Author: shuwenwei <[email protected]>
AuthorDate: Tue Jul 23 11:27:03 2024 +0800

    Reduce error log when compaction interrupted (#12985)
    
    * reduce error log when compaction interrupted
    
    * fix thread pool
    
    (cherry picked from commit 27c2f13324e293561f8e3f8bb51098e61135d434)
---
 .../execute/performer/impl/FastCompactionPerformer.java  |  9 +++++++--
 .../schedule/CompactionScheduleTaskManager.java          | 16 ++++++++++------
 .../compaction/schedule/CompactionTaskManager.java       |  2 ++
 3 files changed, 19 insertions(+), 8 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/FastCompactionPerformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/FastCompactionPerformer.java
index cb13afa3fc2..be702de8e66 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/FastCompactionPerformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/FastCompactionPerformer.java
@@ -44,6 +44,7 @@ import 
org.apache.iotdb.db.storageengine.dataregion.modification.Modification;
 import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
 import org.apache.iotdb.db.utils.datastructure.PatternTreeMapFactory;
 
+import org.apache.tsfile.exception.StopReadTsFileByInterruptException;
 import org.apache.tsfile.exception.write.PageException;
 import org.apache.tsfile.file.metadata.IDeviceID;
 import org.apache.tsfile.read.TsFileSequenceReader;
@@ -269,8 +270,12 @@ public class FastCompactionPerformer
         futures.get(i).get();
         subTaskSummary.increase(taskSummaryList.get(i));
       } catch (ExecutionException e) {
-        if (e.getCause() instanceof CompactionLastTimeCheckFailedException) {
-          throw (CompactionLastTimeCheckFailedException) e.getCause();
+        Throwable cause = e.getCause();
+        if (cause instanceof CompactionLastTimeCheckFailedException) {
+          throw (CompactionLastTimeCheckFailedException) cause;
+        }
+        if (cause instanceof StopReadTsFileByInterruptException) {
+          throw (StopReadTsFileByInterruptException) cause;
         }
         throw new IOException("[Compaction] SubCompactionTask meet errors ", 
e);
       }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskManager.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskManager.java
index 8dbcf94fa18..691318a6f4a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskManager.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskManager.java
@@ -21,6 +21,7 @@ package 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule;
 
 import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
 import org.apache.iotdb.commons.concurrent.ThreadName;
+import 
org.apache.iotdb.commons.concurrent.threadpool.WrappedThreadPoolExecutor;
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.exception.StartupException;
 import org.apache.iotdb.commons.service.IService;
@@ -42,7 +43,6 @@ import java.util.Set;
 import java.util.Vector;
 import java.util.concurrent.CancellationException;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
@@ -55,7 +55,7 @@ public class CompactionScheduleTaskManager implements 
IService {
 
   private final int ttlCheckerNum = 
IoTDBDescriptor.getInstance().getConfig().getTTlCheckerNum();
 
-  private ExecutorService compactionScheduleTaskThreadPool;
+  private WrappedThreadPoolExecutor compactionScheduleTaskThreadPool;
   private static final Logger logger =
       LoggerFactory.getLogger(IoTDBConstant.COMPACTION_LOGGER_NAME);
   private static final CompactionScheduleTaskManager INSTANCE = new 
CompactionScheduleTaskManager();
@@ -179,8 +179,10 @@ public class CompactionScheduleTaskManager implements 
IService {
 
   private void initThreadPool() {
     this.compactionScheduleTaskThreadPool =
-        IoTDBThreadPoolFactory.newFixedThreadPool(
-            compactionSelectorNum + ttlCheckerNum, 
ThreadName.COMPACTION_SCHEDULE.getName());
+        (WrappedThreadPoolExecutor)
+            IoTDBThreadPoolFactory.newFixedThreadPool(
+                compactionSelectorNum + ttlCheckerNum, 
ThreadName.COMPACTION_SCHEDULE.getName());
+    this.compactionScheduleTaskThreadPool.disableErrorLog();
     init = true;
   }
 
@@ -189,8 +191,10 @@ public class CompactionScheduleTaskManager implements 
IService {
     compactionScheduleTaskThreadPool.shutdownNow();
     waitForThreadPoolTerminated();
     compactionScheduleTaskThreadPool =
-        IoTDBThreadPoolFactory.newFixedThreadPool(
-            compactionSelectorNum + ttlCheckerNum, 
ThreadName.COMPACTION_SCHEDULE.getName());
+        (WrappedThreadPoolExecutor)
+            IoTDBThreadPoolFactory.newFixedThreadPool(
+                compactionSelectorNum + ttlCheckerNum, 
ThreadName.COMPACTION_SCHEDULE.getName());
+    compactionScheduleTaskThreadPool.disableErrorLog();
     startScheduleTasks();
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionTaskManager.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionTaskManager.java
index 27eadff4874..b04c2a8b7be 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionTaskManager.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionTaskManager.java
@@ -138,12 +138,14 @@ public class CompactionTaskManager implements IService {
         (WrappedThreadPoolExecutor)
             IoTDBThreadPoolFactory.newFixedThreadPool(
                 compactionThreadNum, ThreadName.COMPACTION_WORKER.getName());
+    this.taskExecutionPool.disableErrorLog();
     this.subCompactionTaskExecutionPool =
         (WrappedThreadPoolExecutor)
             IoTDBThreadPoolFactory.newFixedThreadPool(
                 compactionThreadNum
                     * 
IoTDBDescriptor.getInstance().getConfig().getSubCompactionTaskNum(),
                 ThreadName.COMPACTION_SUB_TASK.getName());
+    this.subCompactionTaskExecutionPool.disableErrorLog();
     for (int i = 0; i < compactionThreadNum; ++i) {
       taskExecutionPool.submit(new CompactionWorker(i, 
candidateCompactionTaskQueue));
     }

Reply via email to