Skip to content

Commit ccad338

Browse files
authored
[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
1 parent e7ccaa9 commit ccad338

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

amoro-ams/src/main/java/org/apache/amoro/server/scheduler/inline/TableRuntimeRefreshExecutor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.apache.amoro.optimizing.plan.AbstractOptimizingEvaluator;
2525
import org.apache.amoro.process.ProcessStatus;
2626
import org.apache.amoro.server.optimizing.OptimizingProcess;
27+
import org.apache.amoro.server.optimizing.OptimizingStatus;
2728
import org.apache.amoro.server.scheduler.PeriodicTableScheduler;
2829
import org.apache.amoro.server.table.DefaultTableRuntime;
2930
import org.apache.amoro.server.table.TableService;
@@ -58,8 +59,9 @@ protected long getNextExecutingTime(TableRuntime tableRuntime) {
5859
}
5960

6061
private void tryEvaluatingPendingInput(DefaultTableRuntime tableRuntime, MixedTable table) {
62+
// only evaluate pending input when optimizing is enabled and in idle state
6163
if (tableRuntime.getTableConfiguration().getOptimizingConfig().isEnabled()
62-
&& !tableRuntime.getOptimizingStatus().isProcessing()) {
64+
&& tableRuntime.getOptimizingStatus().equals(OptimizingStatus.IDLE)) {
6365
AbstractOptimizingEvaluator evaluator =
6466
IcebergTableUtil.createOptimizingEvaluator(tableRuntime, table, maxPendingPartitions);
6567
if (evaluator.isNecessary()) {

0 commit comments

Comments
 (0)