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

taowang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/amoro.git


The following commit(s) were added to refs/heads/master by this push:
     new ccad3385e [AMORO-3676][Improvement]: use 
self-optimizing.min-plan-interval to skip some redundant evaluator (#3726)
ccad3385e is described below

commit ccad3385e553083d0250a3c33e4daebc601377fb
Author: Wang Tao <[email protected]>
AuthorDate: Tue Sep 23 09:27:20 2025 +0800

    [AMORO-3676][Improvement]: use self-optimizing.min-plan-interval to skip 
some redundant evaluator (#3726)
    
    fix_3676 only when optimizing status is idle then do evaluator
---
 .../amoro/server/scheduler/inline/TableRuntimeRefreshExecutor.java    | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/amoro-ams/src/main/java/org/apache/amoro/server/scheduler/inline/TableRuntimeRefreshExecutor.java
 
b/amoro-ams/src/main/java/org/apache/amoro/server/scheduler/inline/TableRuntimeRefreshExecutor.java
index 455190e7d..bbc63125b 100644
--- 
a/amoro-ams/src/main/java/org/apache/amoro/server/scheduler/inline/TableRuntimeRefreshExecutor.java
+++ 
b/amoro-ams/src/main/java/org/apache/amoro/server/scheduler/inline/TableRuntimeRefreshExecutor.java
@@ -24,6 +24,7 @@ import org.apache.amoro.config.TableConfiguration;
 import org.apache.amoro.optimizing.plan.AbstractOptimizingEvaluator;
 import org.apache.amoro.process.ProcessStatus;
 import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
 import org.apache.amoro.server.scheduler.PeriodicTableScheduler;
 import org.apache.amoro.server.table.DefaultTableRuntime;
 import org.apache.amoro.server.table.TableService;
@@ -58,8 +59,9 @@ public class TableRuntimeRefreshExecutor extends 
PeriodicTableScheduler {
   }
 
   private void tryEvaluatingPendingInput(DefaultTableRuntime tableRuntime, 
MixedTable table) {
+    // only evaluate pending input when optimizing is enabled and in idle state
     if (tableRuntime.getTableConfiguration().getOptimizingConfig().isEnabled()
-        && !tableRuntime.getOptimizingStatus().isProcessing()) {
+        && tableRuntime.getOptimizingStatus().equals(OptimizingStatus.IDLE)) {
       AbstractOptimizingEvaluator evaluator =
           IcebergTableUtil.createOptimizingEvaluator(tableRuntime, table, 
maxPendingPartitions);
       if (evaluator.isNecessary()) {

Reply via email to