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

czy006 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 49cacc1d2 [AMORO-3039] Update optimized snapshot id when optimizing 
evaluation result is unnecessary (#3047)
49cacc1d2 is described below

commit 49cacc1d287dc6917d20362e74f391235c710f99
Author: ZhouJinsong <[email protected]>
AuthorDate: Mon Jul 22 15:21:18 2024 +0800

    [AMORO-3039] Update optimized snapshot id when optimizing evaluation result 
is unnecessary (#3047)
    
    Update optimizied snapshot id when evaluate unnecessary
---
 .../java/org/apache/amoro/server/table/TableRuntime.java     | 12 ++++++++++++
 .../server/table/executor/TableRuntimeRefreshExecutor.java   |  2 ++
 2 files changed, 14 insertions(+)

diff --git 
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableRuntime.java
 
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableRuntime.java
index 3b8110c63..e97143133 100644
--- 
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableRuntime.java
+++ 
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableRuntime.java
@@ -253,12 +253,24 @@ public class TableRuntime extends StatedPersistentBase {
               || optimizingStatus == OptimizingStatus.PENDING) {
             updateOptimizingStatus(OptimizingStatus.IDLE);
             lastOptimizedSnapshotId = currentSnapshotId;
+            lastOptimizedChangeSnapshotId = currentChangeSnapshotId;
             persistUpdatingRuntime();
             tableHandler.handleTableChanged(this, optimizingStatus);
           }
         });
   }
 
+  public void optimizingNotNecessary() {
+    invokeConsistency(
+        () -> {
+          if (optimizingStatus == OptimizingStatus.IDLE) {
+            lastOptimizedSnapshotId = currentSnapshotId;
+            lastOptimizedChangeSnapshotId = currentChangeSnapshotId;
+            persistUpdatingRuntime();
+          }
+        });
+  }
+
   /**
    * TODO: this is not final solution
    *
diff --git 
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/executor/TableRuntimeRefreshExecutor.java
 
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/executor/TableRuntimeRefreshExecutor.java
index 7837537ed..124763216 100644
--- 
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/executor/TableRuntimeRefreshExecutor.java
+++ 
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/executor/TableRuntimeRefreshExecutor.java
@@ -56,6 +56,8 @@ public class TableRuntimeRefreshExecutor extends 
BaseTableExecutor {
             tableRuntime.getTableIdentifier(),
             pendingInput);
         tableRuntime.setPendingInput(pendingInput);
+      } else {
+        tableRuntime.optimizingNotNecessary();
       }
     }
   }

Reply via email to