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()) {