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 f3685c959 [AMORO-4354] Improve process identification in logs (#4355)
f3685c959 is described below

commit f3685c959d4c9830a21ad7bd82842d56ed1f9583
Author: Xu Bai <[email protected]>
AuthorDate: Mon Sep 7 11:09:24 2026 +0800

    [AMORO-4354] Improve process identification in logs (#4355)
    
    [AMORO-4354][common] Improve process identification in logs
---
 .../java/org/apache/amoro/process/EngineType.java  |  5 +++++
 .../org/apache/amoro/process/TableProcess.java     | 11 ++++++++++
 .../amoro/process/TestLocalExecutionEngine.java    | 24 ++++++++++++++++++++++
 3 files changed, 40 insertions(+)

diff --git 
a/amoro-common/src/main/java/org/apache/amoro/process/EngineType.java 
b/amoro-common/src/main/java/org/apache/amoro/process/EngineType.java
index b37dda0a2..6fec1a5c1 100644
--- a/amoro-common/src/main/java/org/apache/amoro/process/EngineType.java
+++ b/amoro-common/src/main/java/org/apache/amoro/process/EngineType.java
@@ -87,4 +87,9 @@ public final class EngineType {
   public int hashCode() {
     return Objects.hash(engineName);
   }
+
+  @Override
+  public String toString() {
+    return engineName;
+  }
 }
diff --git 
a/amoro-common/src/main/java/org/apache/amoro/process/TableProcess.java 
b/amoro-common/src/main/java/org/apache/amoro/process/TableProcess.java
index f155ae102..26d826e45 100644
--- a/amoro-common/src/main/java/org/apache/amoro/process/TableProcess.java
+++ b/amoro-common/src/main/java/org/apache/amoro/process/TableProcess.java
@@ -20,6 +20,7 @@ package org.apache.amoro.process;
 
 import org.apache.amoro.ServerTableIdentifier;
 import org.apache.amoro.TableRuntime;
+import org.apache.amoro.shade.guava32.com.google.common.base.MoreObjects;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,4 +66,14 @@ public abstract class TableProcess implements AmoroProcess {
   public String getProcessStage() {
     return "default";
   }
+
+  @Override
+  public String toString() {
+    return MoreObjects.toStringHelper(this)
+        .add("tableIdentifier", getTableIdentifier())
+        .add("action", getAction())
+        .add("processStage", getProcessStage())
+        .add("executionEngine", getExecutionEngine())
+        .toString();
+  }
 }
diff --git 
a/amoro-common/src/test/java/org/apache/amoro/process/TestLocalExecutionEngine.java
 
b/amoro-common/src/test/java/org/apache/amoro/process/TestLocalExecutionEngine.java
index fb91cb63b..36e646878 100644
--- 
a/amoro-common/src/test/java/org/apache/amoro/process/TestLocalExecutionEngine.java
+++ 
b/amoro-common/src/test/java/org/apache/amoro/process/TestLocalExecutionEngine.java
@@ -19,8 +19,11 @@
 package org.apache.amoro.process;
 
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import org.apache.amoro.Action;
+import org.apache.amoro.ServerTableIdentifier;
+import org.apache.amoro.TableFormat;
 import org.apache.amoro.TableRuntime;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
@@ -152,6 +155,27 @@ public class TestLocalExecutionEngine {
     Assertions.assertEquals(ProcessStatus.UNKNOWN, 
engine.getStatus("not-exist"));
   }
 
+  @Test
+  public void testEngineTypeToString() {
+    Assertions.assertEquals("local", EngineType.of("local").toString());
+  }
+
+  @Test
+  public void testTableProcessToString() {
+    TableRuntime tableRuntime = mock(TableRuntime.class);
+    when(tableRuntime.getTableIdentifier())
+        .thenReturn(
+            ServerTableIdentifier.of(1L, "catalog", "database", "table", 
TableFormat.ICEBERG));
+
+    TableProcess process =
+        new LocalProcessTableProcess(tableRuntime, new LocalExecutionEngine(), 
"default", () -> {});
+
+    Assertions.assertEquals(
+        
"LocalProcessTableProcess{tableIdentifier=catalog.database.table(tableId=1), "
+            + "action=TEST, processStage=default, executionEngine=local}",
+        process.toString());
+  }
+
   private LocalExecutionEngine createEngineWithTtl(String ttl) {
     LocalExecutionEngine localEngine = new LocalExecutionEngine();
     Map<String, String> properties = new HashMap<>();

Reply via email to