You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@amoro.apache.org by ji...@apache.org on 2024/05/14 06:15:20 UTC

(amoro) branch master updated: Change Arctic to Amoro for thrift name in module core (#2801)

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

jinsongzhou 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 bb8be9dc7 Change Arctic to Amoro for thrift name in module core (#2801)
bb8be9dc7 is described below

commit bb8be9dc7cd19e5ab12b1e5d90842c190303ff17
Author: Qishang Zhong <zh...@gmail.com>
AuthorDate: Tue May 14 14:15:15 2024 +0800

    Change Arctic to Amoro for thrift name in module core (#2801)
    
    Co-authored-by: ZhouJinsong <zh...@163.com>
---
 .../common/AbstractOptimizerOperator.java          |  11 +-
 .../amoro/optimizer/common/OptimizerToucher.java   |  10 +-
 .../amoro/server/ArcticServiceContainer.java       |   8 +-
 .../amoro/server/TableManagementService.java       |   4 +-
 .../server/exception/ArcticRuntimeException.java   |   8 +-
 .../apache/amoro/api/AlreadyExistsException.java   |   2 +-
 .../{ArcticException.java => AmoroException.java}  |  62 +-
 ...ableMetastore.java => AmoroTableMetastore.java} | 690 ++++++++++-----------
 .../org/apache/amoro/api/BlockableOperation.java   |   2 +-
 .../gen-java/org/apache/amoro/api/Blocker.java     |   6 +-
 .../gen-java/org/apache/amoro/api/CatalogMeta.java |   2 +-
 .../gen-java/org/apache/amoro/api/ColumnInfo.java  |   2 +-
 .../org/apache/amoro/api/CommitMetaProducer.java   |   2 +-
 .../gen-java/org/apache/amoro/api/DataFile.java    |   2 +-
 .../apache/amoro/api/InvalidObjectException.java   |   2 +-
 .../org/apache/amoro/api/MetaException.java        |   2 +-
 .../apache/amoro/api/NoSuchObjectException.java    |   2 +-
 .../apache/amoro/api/NotSupportedException.java    |   2 +-
 .../amoro/api/OperationConflictException.java      |   2 +-
 .../apache/amoro/api/OptimizerRegisterInfo.java    |   2 +-
 .../org/apache/amoro/api/OptimizingService.java    | 162 ++---
 .../org/apache/amoro/api/OptimizingTask.java       |   2 +-
 .../org/apache/amoro/api/OptimizingTaskId.java     |   2 +-
 .../org/apache/amoro/api/OptimizingTaskResult.java |   2 +-
 .../org/apache/amoro/api/PartitionFieldData.java   |   2 +-
 .../org/apache/amoro/api/PrimaryKeySpec.java       |   2 +-
 .../main/gen-java/org/apache/amoro/api/Schema.java |   2 +-
 .../org/apache/amoro/api/SchemaUpdateMeta.java     |   2 +-
 .../gen-java/org/apache/amoro/api/TableChange.java |   2 +-
 .../org/apache/amoro/api/TableCommitMeta.java      |  24 +-
 .../org/apache/amoro/api/TableIdentifier.java      |   2 +-
 .../gen-java/org/apache/amoro/api/TableMeta.java   |  20 +-
 .../org/apache/amoro/api/UpdateColumn.java         |   2 +-
 .../src/main/java/org/apache/amoro/AmsClient.java  |   4 +-
 .../java/org/apache/amoro/PooledAmsClient.java     |   4 +-
 .../org/apache/amoro/client/AmsClientPools.java    |  14 +-
 .../java/org/apache/amoro/mixed/CatalogLoader.java |   4 +-
 ...{arctic_commons.thrift => amoro_commons.thrift} |   2 +-
 ...vice.thrift => amoro_optimizing_service.thrift} |  14 +-
 ...tastore.thrift => amoro_table_metastore.thrift} |  56 +-
 .../apache/amoro/MockAmoroManagementServer.java    |  16 +-
 41 files changed, 581 insertions(+), 582 deletions(-)

diff --git a/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/AbstractOptimizerOperator.java b/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/AbstractOptimizerOperator.java
index b2bf74205..997782ad5 100644
--- a/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/AbstractOptimizerOperator.java
+++ b/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/AbstractOptimizerOperator.java
@@ -19,7 +19,7 @@
 package org.apache.amoro.optimizer.common;
 
 import org.apache.amoro.ErrorCodes;
-import org.apache.amoro.api.ArcticException;
+import org.apache.amoro.api.AmoroException;
 import org.apache.amoro.api.OptimizingService;
 import org.apache.amoro.client.OptimizingClientPools;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
@@ -66,8 +66,8 @@ public class AbstractOptimizerOperator implements Serializable {
   }
 
   private boolean shouldRetryLater(Throwable t) {
-    if (t instanceof ArcticException) {
-      ArcticException arcticException = (ArcticException) t;
+    if (t instanceof AmoroException) {
+      AmoroException arcticException = (AmoroException) t;
       // Call ams again when got a persistence/undefined error
       return ErrorCodes.PERSISTENCE_ERROR_CODE == arcticException.getErrorCode()
           || ErrorCodes.UNDEFINED_ERROR_CODE == arcticException.getErrorCode();
@@ -94,9 +94,8 @@ public class AbstractOptimizerOperator implements Serializable {
         try {
           return operation.call(OptimizingClientPools.getClient(config.getAmsUrl()), token);
         } catch (Throwable t) {
-          if (t instanceof ArcticException
-              && ErrorCodes.PLUGIN_RETRY_AUTH_ERROR_CODE
-                  == ((ArcticException) (t)).getErrorCode()) {
+          if (t instanceof AmoroException
+              && ErrorCodes.PLUGIN_RETRY_AUTH_ERROR_CODE == ((AmoroException) (t)).getErrorCode()) {
             // Reset the token when got a authorization error
             LOG.error(
                 "Got a authorization error while calling ams, reset token and wait for a new one",
diff --git a/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/OptimizerToucher.java b/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/OptimizerToucher.java
index 9bfdf932b..a2e242548 100644
--- a/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/OptimizerToucher.java
+++ b/amoro-ams/amoro-ams-optimizer/amoro-optimizer-common/src/main/java/org/apache/amoro/optimizer/common/OptimizerToucher.java
@@ -19,7 +19,7 @@
 package org.apache.amoro.optimizer.common;
 
 import org.apache.amoro.ErrorCodes;
-import org.apache.amoro.api.ArcticException;
+import org.apache.amoro.api.AmoroException;
 import org.apache.amoro.api.OptimizerProperties;
 import org.apache.amoro.api.OptimizerRegisterInfo;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
@@ -93,8 +93,8 @@ public class OptimizerToucher extends AbstractOptimizerOperator {
         return true;
       } catch (TException e) {
         LOG.error("Register optimizer to ams failed", e);
-        if (e instanceof ArcticException
-            && ErrorCodes.FORBIDDEN_ERROR_CODE == ((ArcticException) e).getErrorCode()) {
+        if (e instanceof AmoroException
+            && ErrorCodes.FORBIDDEN_ERROR_CODE == ((AmoroException) e).getErrorCode()) {
           System.exit(1); // Don't need to try again
         }
         return false;
@@ -112,8 +112,8 @@ public class OptimizerToucher extends AbstractOptimizerOperator {
           });
       LOG.debug("Optimizer[{}] touch ams", getToken());
     } catch (TException e) {
-      if (e instanceof ArcticException
-          && ErrorCodes.PLUGIN_RETRY_AUTH_ERROR_CODE == ((ArcticException) e).getErrorCode()) {
+      if (e instanceof AmoroException
+          && ErrorCodes.PLUGIN_RETRY_AUTH_ERROR_CODE == ((AmoroException) e).getErrorCode()) {
         setToken(null);
         LOG.error("Got authorization error from ams, try to register later", e);
       } else {
diff --git a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/ArcticServiceContainer.java b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/ArcticServiceContainer.java
index 07553e1f6..e1ffe6292 100644
--- a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/ArcticServiceContainer.java
+++ b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/ArcticServiceContainer.java
@@ -21,7 +21,7 @@ package org.apache.amoro.server;
 import io.javalin.Javalin;
 import io.javalin.http.HttpCode;
 import org.apache.amoro.Constants;
-import org.apache.amoro.api.ArcticTableMetastore;
+import org.apache.amoro.api.AmoroTableMetastore;
 import org.apache.amoro.api.OptimizerProperties;
 import org.apache.amoro.api.OptimizingService;
 import org.apache.amoro.api.config.ConfigHelpers;
@@ -286,10 +286,10 @@ public class ArcticServiceContainer {
         serviceConfig.getInteger(ArcticManagementConf.THRIFT_QUEUE_SIZE_PER_THREAD);
     String bindHost = serviceConfig.getString(ArcticManagementConf.SERVER_BIND_HOST);
 
-    ArcticTableMetastore.Processor<ArcticTableMetastore.Iface> tableManagementProcessor =
-        new ArcticTableMetastore.Processor<>(
+    AmoroTableMetastore.Processor<AmoroTableMetastore.Iface> tableManagementProcessor =
+        new AmoroTableMetastore.Processor<>(
             ThriftServiceProxy.createProxy(
-                ArcticTableMetastore.Iface.class,
+                AmoroTableMetastore.Iface.class,
                 new TableManagementService(tableService),
                 ArcticRuntimeException::normalizeCompatibly));
     tableManagementServer =
diff --git a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/TableManagementService.java b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/TableManagementService.java
index c3b0d527d..fac1aeebc 100644
--- a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/TableManagementService.java
+++ b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/TableManagementService.java
@@ -19,7 +19,7 @@
 package org.apache.amoro.server;
 
 import org.apache.amoro.TableFormat;
-import org.apache.amoro.api.ArcticTableMetastore;
+import org.apache.amoro.api.AmoroTableMetastore;
 import org.apache.amoro.api.BlockableOperation;
 import org.apache.amoro.api.Blocker;
 import org.apache.amoro.api.CatalogMeta;
@@ -38,7 +38,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-public class TableManagementService implements ArcticTableMetastore.Iface {
+public class TableManagementService implements AmoroTableMetastore.Iface {
 
   private final TableService tableService;
 
diff --git a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/exception/ArcticRuntimeException.java b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/exception/ArcticRuntimeException.java
index 0b6ed75b0..9be3d300a 100644
--- a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/exception/ArcticRuntimeException.java
+++ b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/exception/ArcticRuntimeException.java
@@ -19,7 +19,7 @@
 package org.apache.amoro.server.exception;
 
 import org.apache.amoro.ErrorCodes;
-import org.apache.amoro.api.ArcticException;
+import org.apache.amoro.api.AmoroException;
 import org.apache.amoro.api.InvalidObjectException;
 import org.apache.amoro.api.MetaException;
 import org.apache.amoro.api.NoSuchObjectException;
@@ -91,8 +91,8 @@ public class ArcticRuntimeException extends RuntimeException {
     return errorName;
   }
 
-  private ArcticException transform() {
-    return new ArcticException(errorCode, errorName, getMessage());
+  private AmoroException transform() {
+    return new AmoroException(errorCode, errorName, getMessage());
   }
 
   protected static String getObjectName(TableIdentifier tableIdentifier) {
@@ -113,7 +113,7 @@ public class ArcticRuntimeException extends RuntimeException {
         + tableIdentifier.getTableName();
   }
 
-  public static ArcticException normalize(Throwable throwable) {
+  public static AmoroException normalize(Throwable throwable) {
     return wrap(throwable).transform();
   }
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java
index 9dc3aaac2..b40c10f49 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java
@@ -12,7 +12,7 @@ package org.apache.amoro.api;
  * This file defines the type definitions that all of arctic's multiple thrift services depend on.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class AlreadyExistsException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AlreadyExistsException, AlreadyExistsException._Fields>, java.io.Serializable, Cloneable, Comparable<AlreadyExistsException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AlreadyExistsException");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/ArcticException.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroException.java
similarity index 89%
rename from amoro-core/src/main/gen-java/org/apache/amoro/api/ArcticException.java
rename to amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroException.java
index ea2c50d0c..cb4029610 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/ArcticException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroException.java
@@ -7,16 +7,16 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
-public class ArcticException extends org.apache.thrift.TException implements org.apache.thrift.TBase<ArcticException, ArcticException._Fields>, java.io.Serializable, Cloneable, Comparable<ArcticException> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ArcticException");
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
+public class AmoroException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AmoroException, AmoroException._Fields>, java.io.Serializable, Cloneable, Comparable<AmoroException> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AmoroException");
 
   private static final org.apache.thrift.protocol.TField ERROR_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("errorCode", org.apache.thrift.protocol.TType.I32, (short)1);
   private static final org.apache.thrift.protocol.TField ERROR_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("errorName", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)3);
 
-  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ArcticExceptionStandardSchemeFactory();
-  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ArcticExceptionTupleSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AmoroExceptionStandardSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AmoroExceptionTupleSchemeFactory();
 
   public int errorCode; // required
   public @org.apache.thrift.annotation.Nullable java.lang.String errorName; // required
@@ -101,13 +101,13 @@ public class ArcticException extends org.apache.thrift.TException implements org
     tmpMap.put(_Fields.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ArcticException.class, metaDataMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AmoroException.class, metaDataMap);
   }
 
-  public ArcticException() {
+  public AmoroException() {
   }
 
-  public ArcticException(
+  public AmoroException(
     int errorCode,
     java.lang.String errorName,
     java.lang.String message)
@@ -122,7 +122,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
   /**
    * Performs a deep copy on <i>other</i>.
    */
-  public ArcticException(ArcticException other) {
+  public AmoroException(AmoroException other) {
     __isset_bitfield = other.__isset_bitfield;
     this.errorCode = other.errorCode;
     if (other.isSetErrorName()) {
@@ -133,8 +133,8 @@ public class ArcticException extends org.apache.thrift.TException implements org
     }
   }
 
-  public ArcticException deepCopy() {
-    return new ArcticException(this);
+  public AmoroException deepCopy() {
+    return new AmoroException(this);
   }
 
   @Override
@@ -149,7 +149,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
     return this.errorCode;
   }
 
-  public ArcticException setErrorCode(int errorCode) {
+  public AmoroException setErrorCode(int errorCode) {
     this.errorCode = errorCode;
     setErrorCodeIsSet(true);
     return this;
@@ -173,7 +173,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
     return this.errorName;
   }
 
-  public ArcticException setErrorName(@org.apache.thrift.annotation.Nullable java.lang.String errorName) {
+  public AmoroException setErrorName(@org.apache.thrift.annotation.Nullable java.lang.String errorName) {
     this.errorName = errorName;
     return this;
   }
@@ -198,7 +198,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
     return this.message;
   }
 
-  public ArcticException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
+  public AmoroException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -284,12 +284,12 @@ public class ArcticException extends org.apache.thrift.TException implements org
   public boolean equals(java.lang.Object that) {
     if (that == null)
       return false;
-    if (that instanceof ArcticException)
-      return this.equals((ArcticException)that);
+    if (that instanceof AmoroException)
+      return this.equals((AmoroException)that);
     return false;
   }
 
-  public boolean equals(ArcticException that) {
+  public boolean equals(AmoroException that) {
     if (that == null)
       return false;
     if (this == that)
@@ -343,7 +343,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
   }
 
   @Override
-  public int compareTo(ArcticException other) {
+  public int compareTo(AmoroException other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
@@ -398,7 +398,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
 
   @Override
   public java.lang.String toString() {
-    java.lang.StringBuilder sb = new java.lang.StringBuilder("ArcticException(");
+    java.lang.StringBuilder sb = new java.lang.StringBuilder("AmoroException(");
     boolean first = true;
 
     sb.append("errorCode:");
@@ -447,15 +447,15 @@ public class ArcticException extends org.apache.thrift.TException implements org
     }
   }
 
-  private static class ArcticExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public ArcticExceptionStandardScheme getScheme() {
-      return new ArcticExceptionStandardScheme();
+  private static class AmoroExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public AmoroExceptionStandardScheme getScheme() {
+      return new AmoroExceptionStandardScheme();
     }
   }
 
-  private static class ArcticExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<ArcticException> {
+  private static class AmoroExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<AmoroException> {
 
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ArcticException struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol iprot, AmoroException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
       while (true)
@@ -500,7 +500,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
       struct.validate();
     }
 
-    public void write(org.apache.thrift.protocol.TProtocol oprot, ArcticException struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol oprot, AmoroException struct) throws org.apache.thrift.TException {
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
@@ -523,16 +523,16 @@ public class ArcticException extends org.apache.thrift.TException implements org
 
   }
 
-  private static class ArcticExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public ArcticExceptionTupleScheme getScheme() {
-      return new ArcticExceptionTupleScheme();
+  private static class AmoroExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public AmoroExceptionTupleScheme getScheme() {
+      return new AmoroExceptionTupleScheme();
     }
   }
 
-  private static class ArcticExceptionTupleScheme extends org.apache.thrift.scheme.TupleScheme<ArcticException> {
+  private static class AmoroExceptionTupleScheme extends org.apache.thrift.scheme.TupleScheme<AmoroException> {
 
     @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ArcticException struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol prot, AmoroException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
       java.util.BitSet optionals = new java.util.BitSet();
       if (struct.isSetErrorCode()) {
@@ -557,7 +557,7 @@ public class ArcticException extends org.apache.thrift.TException implements org
     }
 
     @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ArcticException struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol prot, AmoroException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
       java.util.BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/ArcticTableMetastore.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java
similarity index 94%
rename from amoro-core/src/main/gen-java/org/apache/amoro/api/ArcticTableMetastore.java
rename to amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java
index 3a9eea523..931760f7c 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/ArcticTableMetastore.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java
@@ -7,11 +7,11 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
-public class ArcticTableMetastore {
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
+public class AmoroTableMetastore {
 
   /**
-   * replace TableContainer、ArcticTableItem
+   * replace TableContainer、AmoroTableItem
    * 
    */
   public interface Iface {
@@ -20,33 +20,33 @@ public class ArcticTableMetastore {
 
     public java.util.List<CatalogMeta> getCatalogs() throws org.apache.thrift.TException;
 
-    public CatalogMeta getCatalog(java.lang.String name) throws NoSuchObjectException, org.apache.thrift.TException;
+    public CatalogMeta getCatalog(java.lang.String name) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException;
 
-    public java.util.List<java.lang.String> getDatabases(java.lang.String catalogName) throws NoSuchObjectException, org.apache.thrift.TException;
+    public java.util.List<java.lang.String> getDatabases(java.lang.String catalogName) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException;
 
-    public void createDatabase(java.lang.String catalogName, java.lang.String database) throws NoSuchObjectException, AlreadyExistsException, org.apache.thrift.TException;
+    public void createDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.thrift.TException;
 
-    public void dropDatabase(java.lang.String catalogName, java.lang.String database) throws NoSuchObjectException, NotSupportedException, org.apache.thrift.TException;
+    public void dropDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.thrift.TException;
 
-    public void createTableMeta(TableMeta tableMeta) throws AlreadyExistsException, InvalidObjectException, MetaException, org.apache.thrift.TException;
+    public void createTableMeta(TableMeta tableMeta) throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException;
 
-    public java.util.List<TableMeta> listTables(java.lang.String catalogName, java.lang.String database) throws NoSuchObjectException, org.apache.thrift.TException;
+    public java.util.List<TableMeta> listTables(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException;
 
-    public TableMeta getTable(TableIdentifier tableIdentifier) throws NoSuchObjectException, org.apache.thrift.TException;
+    public TableMeta getTable(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException;
 
-    public void removeTable(TableIdentifier tableIdentifier, boolean deleteData) throws NoSuchObjectException, MetaException, org.apache.thrift.TException;
+    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException;
 
-    public void tableCommit(TableCommitMeta commit) throws MetaException, org.apache.thrift.TException;
+    public void tableCommit(TableCommitMeta commit) throws org.apache.amoro.api.MetaException, org.apache.thrift.TException;
 
-    public long allocateTransactionId(TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.thrift.TException;
+    public long allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.thrift.TException;
 
-    public Blocker block(TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws OperationConflictException, org.apache.thrift.TException;
+    public Blocker block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws org.apache.amoro.api.OperationConflictException, org.apache.thrift.TException;
 
-    public void releaseBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException;
+    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException;
 
-    public long renewBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId) throws NoSuchObjectException, org.apache.thrift.TException;
+    public long renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException;
 
-    public java.util.List<Blocker> getBlockers(TableIdentifier tableIdentifier) throws org.apache.thrift.TException;
+    public java.util.List<Blocker> getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.thrift.TException;
 
   }
 
@@ -68,21 +68,21 @@ public class ArcticTableMetastore {
 
     public void listTables(java.lang.String catalogName, java.lang.String database, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TableMeta>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getTable(TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler) throws org.apache.thrift.TException;
+    public void getTable(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler) throws org.apache.thrift.TException;
 
-    public void removeTable(TableIdentifier tableIdentifier, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
     public void tableCommit(TableCommitMeta commit, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void allocateTransactionId(TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException;
+    public void allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException;
 
-    public void block(TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler) throws org.apache.thrift.TException;
+    public void block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler) throws org.apache.thrift.TException;
 
-    public void releaseBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void renewBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException;
+    public void renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException;
 
-    public void getBlockers(TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler) throws org.apache.thrift.TException;
+    public void getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler) throws org.apache.thrift.TException;
 
   }
 
@@ -147,7 +147,7 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCatalogs failed: unknown result");
     }
 
-    public CatalogMeta getCatalog(java.lang.String name) throws NoSuchObjectException, org.apache.thrift.TException
+    public CatalogMeta getCatalog(java.lang.String name) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       send_getCatalog(name);
       return recv_getCatalog();
@@ -160,7 +160,7 @@ public class ArcticTableMetastore {
       sendBase("getCatalog", args);
     }
 
-    public CatalogMeta recv_getCatalog() throws NoSuchObjectException, org.apache.thrift.TException
+    public CatalogMeta recv_getCatalog() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       getCatalog_result result = new getCatalog_result();
       receiveBase(result, "getCatalog");
@@ -173,7 +173,7 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCatalog failed: unknown result");
     }
 
-    public java.util.List<java.lang.String> getDatabases(java.lang.String catalogName) throws NoSuchObjectException, org.apache.thrift.TException
+    public java.util.List<java.lang.String> getDatabases(java.lang.String catalogName) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       send_getDatabases(catalogName);
       return recv_getDatabases();
@@ -186,7 +186,7 @@ public class ArcticTableMetastore {
       sendBase("getDatabases", args);
     }
 
-    public java.util.List<java.lang.String> recv_getDatabases() throws NoSuchObjectException, org.apache.thrift.TException
+    public java.util.List<java.lang.String> recv_getDatabases() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       getDatabases_result result = new getDatabases_result();
       receiveBase(result, "getDatabases");
@@ -199,7 +199,7 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDatabases failed: unknown result");
     }
 
-    public void createDatabase(java.lang.String catalogName, java.lang.String database) throws NoSuchObjectException, AlreadyExistsException, org.apache.thrift.TException
+    public void createDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.thrift.TException
     {
       send_createDatabase(catalogName, database);
       recv_createDatabase();
@@ -213,7 +213,7 @@ public class ArcticTableMetastore {
       sendBase("createDatabase", args);
     }
 
-    public void recv_createDatabase() throws NoSuchObjectException, AlreadyExistsException, org.apache.thrift.TException
+    public void recv_createDatabase() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.thrift.TException
     {
       createDatabase_result result = new createDatabase_result();
       receiveBase(result, "createDatabase");
@@ -226,7 +226,7 @@ public class ArcticTableMetastore {
       return;
     }
 
-    public void dropDatabase(java.lang.String catalogName, java.lang.String database) throws NoSuchObjectException, NotSupportedException, org.apache.thrift.TException
+    public void dropDatabase(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.thrift.TException
     {
       send_dropDatabase(catalogName, database);
       recv_dropDatabase();
@@ -240,7 +240,7 @@ public class ArcticTableMetastore {
       sendBase("dropDatabase", args);
     }
 
-    public void recv_dropDatabase() throws NoSuchObjectException, NotSupportedException, org.apache.thrift.TException
+    public void recv_dropDatabase() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.thrift.TException
     {
       dropDatabase_result result = new dropDatabase_result();
       receiveBase(result, "dropDatabase");
@@ -253,7 +253,7 @@ public class ArcticTableMetastore {
       return;
     }
 
-    public void createTableMeta(TableMeta tableMeta) throws AlreadyExistsException, InvalidObjectException, MetaException, org.apache.thrift.TException
+    public void createTableMeta(TableMeta tableMeta) throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException
     {
       send_createTableMeta(tableMeta);
       recv_createTableMeta();
@@ -266,7 +266,7 @@ public class ArcticTableMetastore {
       sendBase("createTableMeta", args);
     }
 
-    public void recv_createTableMeta() throws AlreadyExistsException, InvalidObjectException, MetaException, org.apache.thrift.TException
+    public void recv_createTableMeta() throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException
     {
       createTableMeta_result result = new createTableMeta_result();
       receiveBase(result, "createTableMeta");
@@ -282,7 +282,7 @@ public class ArcticTableMetastore {
       return;
     }
 
-    public java.util.List<TableMeta> listTables(java.lang.String catalogName, java.lang.String database) throws NoSuchObjectException, org.apache.thrift.TException
+    public java.util.List<TableMeta> listTables(java.lang.String catalogName, java.lang.String database) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       send_listTables(catalogName, database);
       return recv_listTables();
@@ -296,7 +296,7 @@ public class ArcticTableMetastore {
       sendBase("listTables", args);
     }
 
-    public java.util.List<TableMeta> recv_listTables() throws NoSuchObjectException, org.apache.thrift.TException
+    public java.util.List<TableMeta> recv_listTables() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       listTables_result result = new listTables_result();
       receiveBase(result, "listTables");
@@ -309,20 +309,20 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "listTables failed: unknown result");
     }
 
-    public TableMeta getTable(TableIdentifier tableIdentifier) throws NoSuchObjectException, org.apache.thrift.TException
+    public TableMeta getTable(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       send_getTable(tableIdentifier);
       return recv_getTable();
     }
 
-    public void send_getTable(TableIdentifier tableIdentifier) throws org.apache.thrift.TException
+    public void send_getTable(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.thrift.TException
     {
       getTable_args args = new getTable_args();
       args.setTableIdentifier(tableIdentifier);
       sendBase("getTable", args);
     }
 
-    public TableMeta recv_getTable() throws NoSuchObjectException, org.apache.thrift.TException
+    public TableMeta recv_getTable() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       getTable_result result = new getTable_result();
       receiveBase(result, "getTable");
@@ -335,13 +335,13 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTable failed: unknown result");
     }
 
-    public void removeTable(TableIdentifier tableIdentifier, boolean deleteData) throws NoSuchObjectException, MetaException, org.apache.thrift.TException
+    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData) throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException
     {
       send_removeTable(tableIdentifier, deleteData);
       recv_removeTable();
     }
 
-    public void send_removeTable(TableIdentifier tableIdentifier, boolean deleteData) throws org.apache.thrift.TException
+    public void send_removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData) throws org.apache.thrift.TException
     {
       removeTable_args args = new removeTable_args();
       args.setTableIdentifier(tableIdentifier);
@@ -349,7 +349,7 @@ public class ArcticTableMetastore {
       sendBase("removeTable", args);
     }
 
-    public void recv_removeTable() throws NoSuchObjectException, MetaException, org.apache.thrift.TException
+    public void recv_removeTable() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException
     {
       removeTable_result result = new removeTable_result();
       receiveBase(result, "removeTable");
@@ -362,7 +362,7 @@ public class ArcticTableMetastore {
       return;
     }
 
-    public void tableCommit(TableCommitMeta commit) throws MetaException, org.apache.thrift.TException
+    public void tableCommit(TableCommitMeta commit) throws org.apache.amoro.api.MetaException, org.apache.thrift.TException
     {
       send_tableCommit(commit);
       recv_tableCommit();
@@ -375,7 +375,7 @@ public class ArcticTableMetastore {
       sendBase("tableCommit", args);
     }
 
-    public void recv_tableCommit() throws MetaException, org.apache.thrift.TException
+    public void recv_tableCommit() throws org.apache.amoro.api.MetaException, org.apache.thrift.TException
     {
       tableCommit_result result = new tableCommit_result();
       receiveBase(result, "tableCommit");
@@ -385,13 +385,13 @@ public class ArcticTableMetastore {
       return;
     }
 
-    public long allocateTransactionId(TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.thrift.TException
+    public long allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.thrift.TException
     {
       send_allocateTransactionId(tableIdentifier, transactionSignature);
       return recv_allocateTransactionId();
     }
 
-    public void send_allocateTransactionId(TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.thrift.TException
+    public void send_allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature) throws org.apache.thrift.TException
     {
       allocateTransactionId_args args = new allocateTransactionId_args();
       args.setTableIdentifier(tableIdentifier);
@@ -409,13 +409,13 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "allocateTransactionId failed: unknown result");
     }
 
-    public Blocker block(TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws OperationConflictException, org.apache.thrift.TException
+    public Blocker block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws org.apache.amoro.api.OperationConflictException, org.apache.thrift.TException
     {
       send_block(tableIdentifier, operations, properties);
       return recv_block();
     }
 
-    public void send_block(TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws org.apache.thrift.TException
+    public void send_block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties) throws org.apache.thrift.TException
     {
       block_args args = new block_args();
       args.setTableIdentifier(tableIdentifier);
@@ -424,7 +424,7 @@ public class ArcticTableMetastore {
       sendBase("block", args);
     }
 
-    public Blocker recv_block() throws OperationConflictException, org.apache.thrift.TException
+    public Blocker recv_block() throws org.apache.amoro.api.OperationConflictException, org.apache.thrift.TException
     {
       block_result result = new block_result();
       receiveBase(result, "block");
@@ -437,13 +437,13 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "block failed: unknown result");
     }
 
-    public void releaseBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException
+    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException
     {
       send_releaseBlocker(tableIdentifier, blockerId);
       recv_releaseBlocker();
     }
 
-    public void send_releaseBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException
+    public void send_releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException
     {
       releaseBlocker_args args = new releaseBlocker_args();
       args.setTableIdentifier(tableIdentifier);
@@ -458,13 +458,13 @@ public class ArcticTableMetastore {
       return;
     }
 
-    public long renewBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId) throws NoSuchObjectException, org.apache.thrift.TException
+    public long renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       send_renewBlocker(tableIdentifier, blockerId);
       return recv_renewBlocker();
     }
 
-    public void send_renewBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException
+    public void send_renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId) throws org.apache.thrift.TException
     {
       renewBlocker_args args = new renewBlocker_args();
       args.setTableIdentifier(tableIdentifier);
@@ -472,7 +472,7 @@ public class ArcticTableMetastore {
       sendBase("renewBlocker", args);
     }
 
-    public long recv_renewBlocker() throws NoSuchObjectException, org.apache.thrift.TException
+    public long recv_renewBlocker() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException
     {
       renewBlocker_result result = new renewBlocker_result();
       receiveBase(result, "renewBlocker");
@@ -485,13 +485,13 @@ public class ArcticTableMetastore {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "renewBlocker failed: unknown result");
     }
 
-    public java.util.List<Blocker> getBlockers(TableIdentifier tableIdentifier) throws org.apache.thrift.TException
+    public java.util.List<Blocker> getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.thrift.TException
     {
       send_getBlockers(tableIdentifier);
       return recv_getBlockers();
     }
 
-    public void send_getBlockers(TableIdentifier tableIdentifier) throws org.apache.thrift.TException
+    public void send_getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier) throws org.apache.thrift.TException
     {
       getBlockers_args args = new getBlockers_args();
       args.setTableIdentifier(tableIdentifier);
@@ -606,7 +606,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public CatalogMeta getResult() throws NoSuchObjectException, org.apache.thrift.TException {
+      public CatalogMeta getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -638,7 +638,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public java.util.List<java.lang.String> getResult() throws NoSuchObjectException, org.apache.thrift.TException {
+      public java.util.List<java.lang.String> getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -673,7 +673,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws NoSuchObjectException, AlreadyExistsException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.AlreadyExistsException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -708,7 +708,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws NoSuchObjectException, NotSupportedException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.NotSupportedException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -740,7 +740,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws AlreadyExistsException, InvalidObjectException, MetaException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.AlreadyExistsException, org.apache.amoro.api.InvalidObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -775,7 +775,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public java.util.List<TableMeta> getResult() throws NoSuchObjectException, org.apache.thrift.TException {
+      public java.util.List<TableMeta> getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -785,7 +785,7 @@ public class ArcticTableMetastore {
       }
     }
 
-    public void getTable(TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler) throws org.apache.thrift.TException {
+    public void getTable(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getTable_call method_call = new getTable_call(tableIdentifier, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -793,8 +793,8 @@ public class ArcticTableMetastore {
     }
 
     public static class getTable_call extends org.apache.thrift.async.TAsyncMethodCall<TableMeta> {
-      private TableIdentifier tableIdentifier;
-      public getTable_call(TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.amoro.api.TableIdentifier tableIdentifier;
+      public getTable_call(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<TableMeta> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableIdentifier = tableIdentifier;
       }
@@ -807,7 +807,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public TableMeta getResult() throws NoSuchObjectException, org.apache.thrift.TException {
+      public TableMeta getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -817,7 +817,7 @@ public class ArcticTableMetastore {
       }
     }
 
-    public void removeTable(TableIdentifier tableIdentifier, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+    public void removeTable(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeTable_call method_call = new removeTable_call(tableIdentifier, deleteData, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -825,9 +825,9 @@ public class ArcticTableMetastore {
     }
 
     public static class removeTable_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
-      private TableIdentifier tableIdentifier;
+      private org.apache.amoro.api.TableIdentifier tableIdentifier;
       private boolean deleteData;
-      public removeTable_call(TableIdentifier tableIdentifier, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public removeTable_call(org.apache.amoro.api.TableIdentifier tableIdentifier, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableIdentifier = tableIdentifier;
         this.deleteData = deleteData;
@@ -842,7 +842,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws NoSuchObjectException, MetaException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.amoro.api.MetaException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -874,7 +874,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws MetaException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.MetaException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -884,7 +884,7 @@ public class ArcticTableMetastore {
       }
     }
 
-    public void allocateTransactionId(TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException {
+    public void allocateTransactionId(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       allocateTransactionId_call method_call = new allocateTransactionId_call(tableIdentifier, transactionSignature, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -892,9 +892,9 @@ public class ArcticTableMetastore {
     }
 
     public static class allocateTransactionId_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Long> {
-      private TableIdentifier tableIdentifier;
+      private org.apache.amoro.api.TableIdentifier tableIdentifier;
       private java.lang.String transactionSignature;
-      public allocateTransactionId_call(TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public allocateTransactionId_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String transactionSignature, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableIdentifier = tableIdentifier;
         this.transactionSignature = transactionSignature;
@@ -919,7 +919,7 @@ public class ArcticTableMetastore {
       }
     }
 
-    public void block(TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler) throws org.apache.thrift.TException {
+    public void block(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       block_call method_call = new block_call(tableIdentifier, operations, properties, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -927,10 +927,10 @@ public class ArcticTableMetastore {
     }
 
     public static class block_call extends org.apache.thrift.async.TAsyncMethodCall<Blocker> {
-      private TableIdentifier tableIdentifier;
+      private org.apache.amoro.api.TableIdentifier tableIdentifier;
       private java.util.List<BlockableOperation> operations;
       private java.util.Map<java.lang.String,java.lang.String> properties;
-      public block_call(TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public block_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.util.List<BlockableOperation> operations, java.util.Map<java.lang.String,java.lang.String> properties, org.apache.thrift.async.AsyncMethodCallback<Blocker> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableIdentifier = tableIdentifier;
         this.operations = operations;
@@ -947,7 +947,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public Blocker getResult() throws OperationConflictException, org.apache.thrift.TException {
+      public Blocker getResult() throws org.apache.amoro.api.OperationConflictException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -957,7 +957,7 @@ public class ArcticTableMetastore {
       }
     }
 
-    public void releaseBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+    public void releaseBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       releaseBlocker_call method_call = new releaseBlocker_call(tableIdentifier, blockerId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -965,9 +965,9 @@ public class ArcticTableMetastore {
     }
 
     public static class releaseBlocker_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
-      private TableIdentifier tableIdentifier;
+      private org.apache.amoro.api.TableIdentifier tableIdentifier;
       private java.lang.String blockerId;
-      public releaseBlocker_call(TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public releaseBlocker_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableIdentifier = tableIdentifier;
         this.blockerId = blockerId;
@@ -992,7 +992,7 @@ public class ArcticTableMetastore {
       }
     }
 
-    public void renewBlocker(TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException {
+    public void renewBlocker(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       renewBlocker_call method_call = new renewBlocker_call(tableIdentifier, blockerId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -1000,9 +1000,9 @@ public class ArcticTableMetastore {
     }
 
     public static class renewBlocker_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Long> {
-      private TableIdentifier tableIdentifier;
+      private org.apache.amoro.api.TableIdentifier tableIdentifier;
       private java.lang.String blockerId;
-      public renewBlocker_call(TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public renewBlocker_call(org.apache.amoro.api.TableIdentifier tableIdentifier, java.lang.String blockerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableIdentifier = tableIdentifier;
         this.blockerId = blockerId;
@@ -1017,7 +1017,7 @@ public class ArcticTableMetastore {
         prot.writeMessageEnd();
       }
 
-      public java.lang.Long getResult() throws NoSuchObjectException, org.apache.thrift.TException {
+      public java.lang.Long getResult() throws org.apache.amoro.api.NoSuchObjectException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -1027,7 +1027,7 @@ public class ArcticTableMetastore {
       }
     }
 
-    public void getBlockers(TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler) throws org.apache.thrift.TException {
+    public void getBlockers(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getBlockers_call method_call = new getBlockers_call(tableIdentifier, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -1035,8 +1035,8 @@ public class ArcticTableMetastore {
     }
 
     public static class getBlockers_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<Blocker>> {
-      private TableIdentifier tableIdentifier;
-      public getBlockers_call(TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.amoro.api.TableIdentifier tableIdentifier;
+      public getBlockers_call(org.apache.amoro.api.TableIdentifier tableIdentifier, org.apache.thrift.async.AsyncMethodCallback<java.util.List<Blocker>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableIdentifier = tableIdentifier;
       }
@@ -1163,7 +1163,7 @@ public class ArcticTableMetastore {
         getCatalog_result result = new getCatalog_result();
         try {
           result.success = iface.getCatalog(args.name);
-        } catch (NoSuchObjectException e1) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
           result.e1 = e1;
         }
         return result;
@@ -1192,7 +1192,7 @@ public class ArcticTableMetastore {
         getDatabases_result result = new getDatabases_result();
         try {
           result.success = iface.getDatabases(args.catalogName);
-        } catch (NoSuchObjectException e) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e) {
           result.e = e;
         }
         return result;
@@ -1221,9 +1221,9 @@ public class ArcticTableMetastore {
         createDatabase_result result = new createDatabase_result();
         try {
           iface.createDatabase(args.catalogName, args.database);
-        } catch (NoSuchObjectException e1) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
           result.e1 = e1;
-        } catch (AlreadyExistsException e2) {
+        } catch (org.apache.amoro.api.AlreadyExistsException e2) {
           result.e2 = e2;
         }
         return result;
@@ -1252,9 +1252,9 @@ public class ArcticTableMetastore {
         dropDatabase_result result = new dropDatabase_result();
         try {
           iface.dropDatabase(args.catalogName, args.database);
-        } catch (NoSuchObjectException e1) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
           result.e1 = e1;
-        } catch (NotSupportedException e2) {
+        } catch (org.apache.amoro.api.NotSupportedException e2) {
           result.e2 = e2;
         }
         return result;
@@ -1283,11 +1283,11 @@ public class ArcticTableMetastore {
         createTableMeta_result result = new createTableMeta_result();
         try {
           iface.createTableMeta(args.tableMeta);
-        } catch (AlreadyExistsException e1) {
+        } catch (org.apache.amoro.api.AlreadyExistsException e1) {
           result.e1 = e1;
-        } catch (InvalidObjectException e2) {
+        } catch (org.apache.amoro.api.InvalidObjectException e2) {
           result.e2 = e2;
-        } catch (MetaException e3) {
+        } catch (org.apache.amoro.api.MetaException e3) {
           result.e3 = e3;
         }
         return result;
@@ -1316,7 +1316,7 @@ public class ArcticTableMetastore {
         listTables_result result = new listTables_result();
         try {
           result.success = iface.listTables(args.catalogName, args.database);
-        } catch (NoSuchObjectException e) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e) {
           result.e = e;
         }
         return result;
@@ -1345,7 +1345,7 @@ public class ArcticTableMetastore {
         getTable_result result = new getTable_result();
         try {
           result.success = iface.getTable(args.tableIdentifier);
-        } catch (NoSuchObjectException e) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e) {
           result.e = e;
         }
         return result;
@@ -1374,9 +1374,9 @@ public class ArcticTableMetastore {
         removeTable_result result = new removeTable_result();
         try {
           iface.removeTable(args.tableIdentifier, args.deleteData);
-        } catch (NoSuchObjectException e1) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e1) {
           result.e1 = e1;
-        } catch (MetaException e2) {
+        } catch (org.apache.amoro.api.MetaException e2) {
           result.e2 = e2;
         }
         return result;
@@ -1405,7 +1405,7 @@ public class ArcticTableMetastore {
         tableCommit_result result = new tableCommit_result();
         try {
           iface.tableCommit(args.commit);
-        } catch (MetaException e1) {
+        } catch (org.apache.amoro.api.MetaException e1) {
           result.e1 = e1;
         }
         return result;
@@ -1460,7 +1460,7 @@ public class ArcticTableMetastore {
         block_result result = new block_result();
         try {
           result.success = iface.block(args.tableIdentifier, args.operations, args.properties);
-        } catch (OperationConflictException e1) {
+        } catch (org.apache.amoro.api.OperationConflictException e1) {
           result.e1 = e1;
         }
         return result;
@@ -1515,7 +1515,7 @@ public class ArcticTableMetastore {
         try {
           result.success = iface.renewBlocker(args.tableIdentifier, args.blockerId);
           result.setSuccessIsSet(true);
-        } catch (NoSuchObjectException e) {
+        } catch (org.apache.amoro.api.NoSuchObjectException e) {
           result.e = e;
         }
         return result;
@@ -1729,8 +1729,8 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             getCatalog_result result = new getCatalog_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e1 = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -1794,8 +1794,8 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             getDatabases_result result = new getDatabases_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setEIsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -1858,12 +1858,12 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             createDatabase_result result = new createDatabase_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e1 = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setE1IsSet(true);
               msg = result;
-            } else if (e instanceof AlreadyExistsException) {
-              result.e2 = (AlreadyExistsException) e;
+            } else if (e instanceof org.apache.amoro.api.AlreadyExistsException) {
+              result.e2 = (org.apache.amoro.api.AlreadyExistsException) e;
               result.setE2IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -1926,12 +1926,12 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             dropDatabase_result result = new dropDatabase_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e1 = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setE1IsSet(true);
               msg = result;
-            } else if (e instanceof NotSupportedException) {
-              result.e2 = (NotSupportedException) e;
+            } else if (e instanceof org.apache.amoro.api.NotSupportedException) {
+              result.e2 = (org.apache.amoro.api.NotSupportedException) e;
               result.setE2IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -1994,16 +1994,16 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             createTableMeta_result result = new createTableMeta_result();
-            if (e instanceof AlreadyExistsException) {
-              result.e1 = (AlreadyExistsException) e;
+            if (e instanceof org.apache.amoro.api.AlreadyExistsException) {
+              result.e1 = (org.apache.amoro.api.AlreadyExistsException) e;
               result.setE1IsSet(true);
               msg = result;
-            } else if (e instanceof InvalidObjectException) {
-              result.e2 = (InvalidObjectException) e;
+            } else if (e instanceof org.apache.amoro.api.InvalidObjectException) {
+              result.e2 = (org.apache.amoro.api.InvalidObjectException) e;
               result.setE2IsSet(true);
               msg = result;
-            } else if (e instanceof MetaException) {
-              result.e3 = (MetaException) e;
+            } else if (e instanceof org.apache.amoro.api.MetaException) {
+              result.e3 = (org.apache.amoro.api.MetaException) e;
               result.setE3IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -2067,8 +2067,8 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             listTables_result result = new listTables_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setEIsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -2132,8 +2132,8 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             getTable_result result = new getTable_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setEIsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -2196,12 +2196,12 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             removeTable_result result = new removeTable_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e1 = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e1 = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setE1IsSet(true);
               msg = result;
-            } else if (e instanceof MetaException) {
-              result.e2 = (MetaException) e;
+            } else if (e instanceof org.apache.amoro.api.MetaException) {
+              result.e2 = (org.apache.amoro.api.MetaException) e;
               result.setE2IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -2264,8 +2264,8 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             tableCommit_result result = new tableCommit_result();
-            if (e instanceof MetaException) {
-              result.e1 = (MetaException) e;
+            if (e instanceof org.apache.amoro.api.MetaException) {
+              result.e1 = (org.apache.amoro.api.MetaException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -2391,8 +2391,8 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             block_result result = new block_result();
-            if (e instanceof OperationConflictException) {
-              result.e1 = (OperationConflictException) e;
+            if (e instanceof org.apache.amoro.api.OperationConflictException) {
+              result.e1 = (org.apache.amoro.api.OperationConflictException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -2517,8 +2517,8 @@ public class ArcticTableMetastore {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             renewBlocker_result result = new renewBlocker_result();
-            if (e instanceof NoSuchObjectException) {
-              result.e = (NoSuchObjectException) e;
+            if (e instanceof org.apache.amoro.api.NoSuchObjectException) {
+              result.e = (org.apache.amoro.api.NoSuchObjectException) e;
               result.setEIsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -4177,7 +4177,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCatalog_resultTupleSchemeFactory();
 
     public @org.apache.thrift.annotation.Nullable CatalogMeta success; // required
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -4249,7 +4249,7 @@ public class ArcticTableMetastore {
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CatalogMeta.class)));
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCatalog_result.class, metaDataMap);
     }
@@ -4259,7 +4259,7 @@ public class ArcticTableMetastore {
 
     public getCatalog_result(
       CatalogMeta success,
-      NoSuchObjectException e1)
+      org.apache.amoro.api.NoSuchObjectException e1)
     {
       this();
       this.success = success;
@@ -4274,7 +4274,7 @@ public class ArcticTableMetastore {
         this.success = new CatalogMeta(other.success);
       }
       if (other.isSetE1()) {
-        this.e1 = new NoSuchObjectException(other.e1);
+        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
       }
     }
 
@@ -4314,11 +4314,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE1() {
+    public org.apache.amoro.api.NoSuchObjectException getE1() {
       return this.e1;
     }
 
-    public getCatalog_result setE1(@org.apache.thrift.annotation.Nullable NoSuchObjectException e1) {
+    public getCatalog_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
       this.e1 = e1;
       return this;
     }
@@ -4352,7 +4352,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((NoSuchObjectException)value);
+          setE1((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -4559,7 +4559,7 @@ public class ArcticTableMetastore {
               break;
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new NoSuchObjectException();
+                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -4634,7 +4634,7 @@ public class ArcticTableMetastore {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e1 = new NoSuchObjectException();
+          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
@@ -5023,7 +5023,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDatabases_resultTupleSchemeFactory();
 
     public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -5096,7 +5096,7 @@ public class ArcticTableMetastore {
           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
               new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
       tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDatabases_result.class, metaDataMap);
     }
@@ -5106,7 +5106,7 @@ public class ArcticTableMetastore {
 
     public getDatabases_result(
       java.util.List<java.lang.String> success,
-      NoSuchObjectException e)
+      org.apache.amoro.api.NoSuchObjectException e)
     {
       this();
       this.success = success;
@@ -5122,7 +5122,7 @@ public class ArcticTableMetastore {
         this.success = __this__success;
       }
       if (other.isSetE()) {
-        this.e = new NoSuchObjectException(other.e);
+        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
       }
     }
 
@@ -5178,11 +5178,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE() {
+    public org.apache.amoro.api.NoSuchObjectException getE() {
       return this.e;
     }
 
-    public getDatabases_result setE(@org.apache.thrift.annotation.Nullable NoSuchObjectException e) {
+    public getDatabases_result setE(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
       this.e = e;
       return this;
     }
@@ -5216,7 +5216,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE();
         } else {
-          setE((NoSuchObjectException)value);
+          setE((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -5429,7 +5429,7 @@ public class ArcticTableMetastore {
               break;
             case 1: // E
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e = new NoSuchObjectException();
+                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e.read(iprot);
                 struct.setEIsSet(true);
               } else { 
@@ -5525,7 +5525,7 @@ public class ArcticTableMetastore {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e = new NoSuchObjectException();
+          struct.e = new org.apache.amoro.api.NoSuchObjectException();
           struct.e.read(iprot);
           struct.setEIsSet(true);
         }
@@ -6018,8 +6018,8 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createDatabase_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createDatabase_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e1; // required
-    public @org.apache.thrift.annotation.Nullable AlreadyExistsException e2; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -6089,9 +6089,9 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       tmpMap.put(_Fields.E2, new org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AlreadyExistsException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AlreadyExistsException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createDatabase_result.class, metaDataMap);
     }
@@ -6100,8 +6100,8 @@ public class ArcticTableMetastore {
     }
 
     public createDatabase_result(
-      NoSuchObjectException e1,
-      AlreadyExistsException e2)
+      org.apache.amoro.api.NoSuchObjectException e1,
+      org.apache.amoro.api.AlreadyExistsException e2)
     {
       this();
       this.e1 = e1;
@@ -6113,10 +6113,10 @@ public class ArcticTableMetastore {
      */
     public createDatabase_result(createDatabase_result other) {
       if (other.isSetE1()) {
-        this.e1 = new NoSuchObjectException(other.e1);
+        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
       }
       if (other.isSetE2()) {
-        this.e2 = new AlreadyExistsException(other.e2);
+        this.e2 = new org.apache.amoro.api.AlreadyExistsException(other.e2);
       }
     }
 
@@ -6131,11 +6131,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE1() {
+    public org.apache.amoro.api.NoSuchObjectException getE1() {
       return this.e1;
     }
 
-    public createDatabase_result setE1(@org.apache.thrift.annotation.Nullable NoSuchObjectException e1) {
+    public createDatabase_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
       this.e1 = e1;
       return this;
     }
@@ -6156,11 +6156,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public AlreadyExistsException getE2() {
+    public org.apache.amoro.api.AlreadyExistsException getE2() {
       return this.e2;
     }
 
-    public createDatabase_result setE2(@org.apache.thrift.annotation.Nullable AlreadyExistsException e2) {
+    public createDatabase_result setE2(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e2) {
       this.e2 = e2;
       return this;
     }
@@ -6186,7 +6186,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((NoSuchObjectException)value);
+          setE1((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -6194,7 +6194,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE2();
         } else {
-          setE2((AlreadyExistsException)value);
+          setE2((org.apache.amoro.api.AlreadyExistsException)value);
         }
         break;
 
@@ -6389,7 +6389,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new NoSuchObjectException();
+                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -6398,7 +6398,7 @@ public class ArcticTableMetastore {
               break;
             case 2: // E2
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e2 = new AlreadyExistsException();
+                struct.e2 = new org.apache.amoro.api.AlreadyExistsException();
                 struct.e2.read(iprot);
                 struct.setE2IsSet(true);
               } else { 
@@ -6468,12 +6468,12 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.e1 = new NoSuchObjectException();
+          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e2 = new AlreadyExistsException();
+          struct.e2 = new org.apache.amoro.api.AlreadyExistsException();
           struct.e2.read(iprot);
           struct.setE2IsSet(true);
         }
@@ -6966,8 +6966,8 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new dropDatabase_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new dropDatabase_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e1; // required
-    public @org.apache.thrift.annotation.Nullable NotSupportedException e2; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NotSupportedException e2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -7037,9 +7037,9 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       tmpMap.put(_Fields.E2, new org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NotSupportedException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NotSupportedException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(dropDatabase_result.class, metaDataMap);
     }
@@ -7048,8 +7048,8 @@ public class ArcticTableMetastore {
     }
 
     public dropDatabase_result(
-      NoSuchObjectException e1,
-      NotSupportedException e2)
+      org.apache.amoro.api.NoSuchObjectException e1,
+      org.apache.amoro.api.NotSupportedException e2)
     {
       this();
       this.e1 = e1;
@@ -7061,10 +7061,10 @@ public class ArcticTableMetastore {
      */
     public dropDatabase_result(dropDatabase_result other) {
       if (other.isSetE1()) {
-        this.e1 = new NoSuchObjectException(other.e1);
+        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
       }
       if (other.isSetE2()) {
-        this.e2 = new NotSupportedException(other.e2);
+        this.e2 = new org.apache.amoro.api.NotSupportedException(other.e2);
       }
     }
 
@@ -7079,11 +7079,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE1() {
+    public org.apache.amoro.api.NoSuchObjectException getE1() {
       return this.e1;
     }
 
-    public dropDatabase_result setE1(@org.apache.thrift.annotation.Nullable NoSuchObjectException e1) {
+    public dropDatabase_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
       this.e1 = e1;
       return this;
     }
@@ -7104,11 +7104,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NotSupportedException getE2() {
+    public org.apache.amoro.api.NotSupportedException getE2() {
       return this.e2;
     }
 
-    public dropDatabase_result setE2(@org.apache.thrift.annotation.Nullable NotSupportedException e2) {
+    public dropDatabase_result setE2(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NotSupportedException e2) {
       this.e2 = e2;
       return this;
     }
@@ -7134,7 +7134,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((NoSuchObjectException)value);
+          setE1((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -7142,7 +7142,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE2();
         } else {
-          setE2((NotSupportedException)value);
+          setE2((org.apache.amoro.api.NotSupportedException)value);
         }
         break;
 
@@ -7337,7 +7337,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new NoSuchObjectException();
+                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -7346,7 +7346,7 @@ public class ArcticTableMetastore {
               break;
             case 2: // E2
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e2 = new NotSupportedException();
+                struct.e2 = new org.apache.amoro.api.NotSupportedException();
                 struct.e2.read(iprot);
                 struct.setE2IsSet(true);
               } else { 
@@ -7416,12 +7416,12 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.e1 = new NoSuchObjectException();
+          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e2 = new NotSupportedException();
+          struct.e2 = new org.apache.amoro.api.NotSupportedException();
           struct.e2.read(iprot);
           struct.setE2IsSet(true);
         }
@@ -7815,9 +7815,9 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createTableMeta_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createTableMeta_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable AlreadyExistsException e1; // required
-    public @org.apache.thrift.annotation.Nullable InvalidObjectException e2; // required
-    public @org.apache.thrift.annotation.Nullable MetaException e3; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.InvalidObjectException e2; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -7890,11 +7890,11 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AlreadyExistsException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AlreadyExistsException.class)));
       tmpMap.put(_Fields.E2, new org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, InvalidObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.InvalidObjectException.class)));
       tmpMap.put(_Fields.E3, new org.apache.thrift.meta_data.FieldMetaData("e3", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MetaException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.MetaException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createTableMeta_result.class, metaDataMap);
     }
@@ -7903,9 +7903,9 @@ public class ArcticTableMetastore {
     }
 
     public createTableMeta_result(
-      AlreadyExistsException e1,
-      InvalidObjectException e2,
-      MetaException e3)
+      org.apache.amoro.api.AlreadyExistsException e1,
+      org.apache.amoro.api.InvalidObjectException e2,
+      org.apache.amoro.api.MetaException e3)
     {
       this();
       this.e1 = e1;
@@ -7918,13 +7918,13 @@ public class ArcticTableMetastore {
      */
     public createTableMeta_result(createTableMeta_result other) {
       if (other.isSetE1()) {
-        this.e1 = new AlreadyExistsException(other.e1);
+        this.e1 = new org.apache.amoro.api.AlreadyExistsException(other.e1);
       }
       if (other.isSetE2()) {
-        this.e2 = new InvalidObjectException(other.e2);
+        this.e2 = new org.apache.amoro.api.InvalidObjectException(other.e2);
       }
       if (other.isSetE3()) {
-        this.e3 = new MetaException(other.e3);
+        this.e3 = new org.apache.amoro.api.MetaException(other.e3);
       }
     }
 
@@ -7940,11 +7940,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public AlreadyExistsException getE1() {
+    public org.apache.amoro.api.AlreadyExistsException getE1() {
       return this.e1;
     }
 
-    public createTableMeta_result setE1(@org.apache.thrift.annotation.Nullable AlreadyExistsException e1) {
+    public createTableMeta_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.AlreadyExistsException e1) {
       this.e1 = e1;
       return this;
     }
@@ -7965,11 +7965,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public InvalidObjectException getE2() {
+    public org.apache.amoro.api.InvalidObjectException getE2() {
       return this.e2;
     }
 
-    public createTableMeta_result setE2(@org.apache.thrift.annotation.Nullable InvalidObjectException e2) {
+    public createTableMeta_result setE2(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.InvalidObjectException e2) {
       this.e2 = e2;
       return this;
     }
@@ -7990,11 +7990,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public MetaException getE3() {
+    public org.apache.amoro.api.MetaException getE3() {
       return this.e3;
     }
 
-    public createTableMeta_result setE3(@org.apache.thrift.annotation.Nullable MetaException e3) {
+    public createTableMeta_result setE3(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e3) {
       this.e3 = e3;
       return this;
     }
@@ -8020,7 +8020,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((AlreadyExistsException)value);
+          setE1((org.apache.amoro.api.AlreadyExistsException)value);
         }
         break;
 
@@ -8028,7 +8028,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE2();
         } else {
-          setE2((InvalidObjectException)value);
+          setE2((org.apache.amoro.api.InvalidObjectException)value);
         }
         break;
 
@@ -8036,7 +8036,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE3();
         } else {
-          setE3((MetaException)value);
+          setE3((org.apache.amoro.api.MetaException)value);
         }
         break;
 
@@ -8267,7 +8267,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new AlreadyExistsException();
+                struct.e1 = new org.apache.amoro.api.AlreadyExistsException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -8276,7 +8276,7 @@ public class ArcticTableMetastore {
               break;
             case 2: // E2
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e2 = new InvalidObjectException();
+                struct.e2 = new org.apache.amoro.api.InvalidObjectException();
                 struct.e2.read(iprot);
                 struct.setE2IsSet(true);
               } else { 
@@ -8285,7 +8285,7 @@ public class ArcticTableMetastore {
               break;
             case 3: // E3
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e3 = new MetaException();
+                struct.e3 = new org.apache.amoro.api.MetaException();
                 struct.e3.read(iprot);
                 struct.setE3IsSet(true);
               } else { 
@@ -8366,17 +8366,17 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
-          struct.e1 = new AlreadyExistsException();
+          struct.e1 = new org.apache.amoro.api.AlreadyExistsException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e2 = new InvalidObjectException();
+          struct.e2 = new org.apache.amoro.api.InvalidObjectException();
           struct.e2.read(iprot);
           struct.setE2IsSet(true);
         }
         if (incoming.get(2)) {
-          struct.e3 = new MetaException();
+          struct.e3 = new org.apache.amoro.api.MetaException();
           struct.e3.read(iprot);
           struct.setE3IsSet(true);
         }
@@ -8870,7 +8870,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listTables_resultTupleSchemeFactory();
 
     public @org.apache.thrift.annotation.Nullable java.util.List<TableMeta> success; // required
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -8943,7 +8943,7 @@ public class ArcticTableMetastore {
           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
               new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableMeta.class))));
       tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listTables_result.class, metaDataMap);
     }
@@ -8953,7 +8953,7 @@ public class ArcticTableMetastore {
 
     public listTables_result(
       java.util.List<TableMeta> success,
-      NoSuchObjectException e)
+      org.apache.amoro.api.NoSuchObjectException e)
     {
       this();
       this.success = success;
@@ -8972,7 +8972,7 @@ public class ArcticTableMetastore {
         this.success = __this__success;
       }
       if (other.isSetE()) {
-        this.e = new NoSuchObjectException(other.e);
+        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
       }
     }
 
@@ -9028,11 +9028,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE() {
+    public org.apache.amoro.api.NoSuchObjectException getE() {
       return this.e;
     }
 
-    public listTables_result setE(@org.apache.thrift.annotation.Nullable NoSuchObjectException e) {
+    public listTables_result setE(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
       this.e = e;
       return this;
     }
@@ -9066,7 +9066,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE();
         } else {
-          setE((NoSuchObjectException)value);
+          setE((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -9280,7 +9280,7 @@ public class ArcticTableMetastore {
               break;
             case 1: // E
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e = new NoSuchObjectException();
+                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e.read(iprot);
                 struct.setEIsSet(true);
               } else { 
@@ -9377,7 +9377,7 @@ public class ArcticTableMetastore {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e = new NoSuchObjectException();
+          struct.e = new org.apache.amoro.api.NoSuchObjectException();
           struct.e.read(iprot);
           struct.setEIsSet(true);
         }
@@ -9397,7 +9397,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTable_argsTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -9464,7 +9464,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTable_args.class, metaDataMap);
     }
@@ -9473,7 +9473,7 @@ public class ArcticTableMetastore {
     }
 
     public getTable_args(
-      TableIdentifier tableIdentifier)
+      org.apache.amoro.api.TableIdentifier tableIdentifier)
     {
       this();
       this.tableIdentifier = tableIdentifier;
@@ -9484,7 +9484,7 @@ public class ArcticTableMetastore {
      */
     public getTable_args(getTable_args other) {
       if (other.isSetTableIdentifier()) {
-        this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
       }
     }
 
@@ -9498,11 +9498,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public TableIdentifier getTableIdentifier() {
+    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
       return this.tableIdentifier;
     }
 
-    public getTable_args setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+    public getTable_args setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
       this.tableIdentifier = tableIdentifier;
       return this;
     }
@@ -9528,7 +9528,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetTableIdentifier();
         } else {
-          setTableIdentifier((TableIdentifier)value);
+          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
         }
         break;
 
@@ -9690,7 +9690,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // TABLE_IDENTIFIER
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.tableIdentifier = new TableIdentifier();
+                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                 struct.tableIdentifier.read(iprot);
                 struct.setTableIdentifierIsSet(true);
               } else { 
@@ -9749,7 +9749,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.tableIdentifier = new TableIdentifier();
+          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
           struct.tableIdentifier.read(iprot);
           struct.setTableIdentifierIsSet(true);
         }
@@ -9771,7 +9771,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTable_resultTupleSchemeFactory();
 
     public @org.apache.thrift.annotation.Nullable TableMeta success; // required
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -9843,7 +9843,7 @@ public class ArcticTableMetastore {
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableMeta.class)));
       tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTable_result.class, metaDataMap);
     }
@@ -9853,7 +9853,7 @@ public class ArcticTableMetastore {
 
     public getTable_result(
       TableMeta success,
-      NoSuchObjectException e)
+      org.apache.amoro.api.NoSuchObjectException e)
     {
       this();
       this.success = success;
@@ -9868,7 +9868,7 @@ public class ArcticTableMetastore {
         this.success = new TableMeta(other.success);
       }
       if (other.isSetE()) {
-        this.e = new NoSuchObjectException(other.e);
+        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
       }
     }
 
@@ -9908,11 +9908,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE() {
+    public org.apache.amoro.api.NoSuchObjectException getE() {
       return this.e;
     }
 
-    public getTable_result setE(@org.apache.thrift.annotation.Nullable NoSuchObjectException e) {
+    public getTable_result setE(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
       this.e = e;
       return this;
     }
@@ -9946,7 +9946,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE();
         } else {
-          setE((NoSuchObjectException)value);
+          setE((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -10153,7 +10153,7 @@ public class ArcticTableMetastore {
               break;
             case 1: // E
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e = new NoSuchObjectException();
+                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e.read(iprot);
                 struct.setEIsSet(true);
               } else { 
@@ -10228,7 +10228,7 @@ public class ArcticTableMetastore {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e = new NoSuchObjectException();
+          struct.e = new org.apache.amoro.api.NoSuchObjectException();
           struct.e.read(iprot);
           struct.setEIsSet(true);
         }
@@ -10249,7 +10249,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeTable_argsTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
     public boolean deleteData; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -10322,7 +10322,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
       tmpMap.put(_Fields.DELETE_DATA, new org.apache.thrift.meta_data.FieldMetaData("deleteData", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
@@ -10333,7 +10333,7 @@ public class ArcticTableMetastore {
     }
 
     public removeTable_args(
-      TableIdentifier tableIdentifier,
+      org.apache.amoro.api.TableIdentifier tableIdentifier,
       boolean deleteData)
     {
       this();
@@ -10348,7 +10348,7 @@ public class ArcticTableMetastore {
     public removeTable_args(removeTable_args other) {
       __isset_bitfield = other.__isset_bitfield;
       if (other.isSetTableIdentifier()) {
-        this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
       }
       this.deleteData = other.deleteData;
     }
@@ -10365,11 +10365,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public TableIdentifier getTableIdentifier() {
+    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
       return this.tableIdentifier;
     }
 
-    public removeTable_args setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+    public removeTable_args setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
       this.tableIdentifier = tableIdentifier;
       return this;
     }
@@ -10418,7 +10418,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetTableIdentifier();
         } else {
-          setTableIdentifier((TableIdentifier)value);
+          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
         }
         break;
 
@@ -10620,7 +10620,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // TABLE_IDENTIFIER
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.tableIdentifier = new TableIdentifier();
+                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                 struct.tableIdentifier.read(iprot);
                 struct.setTableIdentifierIsSet(true);
               } else { 
@@ -10696,7 +10696,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.tableIdentifier = new TableIdentifier();
+          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
           struct.tableIdentifier.read(iprot);
           struct.setTableIdentifierIsSet(true);
         }
@@ -10721,8 +10721,8 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeTable_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e1; // required
-    public @org.apache.thrift.annotation.Nullable MetaException e2; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -10792,9 +10792,9 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       tmpMap.put(_Fields.E2, new org.apache.thrift.meta_data.FieldMetaData("e2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MetaException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.MetaException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeTable_result.class, metaDataMap);
     }
@@ -10803,8 +10803,8 @@ public class ArcticTableMetastore {
     }
 
     public removeTable_result(
-      NoSuchObjectException e1,
-      MetaException e2)
+      org.apache.amoro.api.NoSuchObjectException e1,
+      org.apache.amoro.api.MetaException e2)
     {
       this();
       this.e1 = e1;
@@ -10816,10 +10816,10 @@ public class ArcticTableMetastore {
      */
     public removeTable_result(removeTable_result other) {
       if (other.isSetE1()) {
-        this.e1 = new NoSuchObjectException(other.e1);
+        this.e1 = new org.apache.amoro.api.NoSuchObjectException(other.e1);
       }
       if (other.isSetE2()) {
-        this.e2 = new MetaException(other.e2);
+        this.e2 = new org.apache.amoro.api.MetaException(other.e2);
       }
     }
 
@@ -10834,11 +10834,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE1() {
+    public org.apache.amoro.api.NoSuchObjectException getE1() {
       return this.e1;
     }
 
-    public removeTable_result setE1(@org.apache.thrift.annotation.Nullable NoSuchObjectException e1) {
+    public removeTable_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e1) {
       this.e1 = e1;
       return this;
     }
@@ -10859,11 +10859,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public MetaException getE2() {
+    public org.apache.amoro.api.MetaException getE2() {
       return this.e2;
     }
 
-    public removeTable_result setE2(@org.apache.thrift.annotation.Nullable MetaException e2) {
+    public removeTable_result setE2(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e2) {
       this.e2 = e2;
       return this;
     }
@@ -10889,7 +10889,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((NoSuchObjectException)value);
+          setE1((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -10897,7 +10897,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE2();
         } else {
-          setE2((MetaException)value);
+          setE2((org.apache.amoro.api.MetaException)value);
         }
         break;
 
@@ -11092,7 +11092,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new NoSuchObjectException();
+                struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -11101,7 +11101,7 @@ public class ArcticTableMetastore {
               break;
             case 2: // E2
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e2 = new MetaException();
+                struct.e2 = new org.apache.amoro.api.MetaException();
                 struct.e2.read(iprot);
                 struct.setE2IsSet(true);
               } else { 
@@ -11171,12 +11171,12 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.e1 = new NoSuchObjectException();
+          struct.e1 = new org.apache.amoro.api.NoSuchObjectException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e2 = new MetaException();
+          struct.e2 = new org.apache.amoro.api.MetaException();
           struct.e2.read(iprot);
           struct.setE2IsSet(true);
         }
@@ -11568,7 +11568,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new tableCommit_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new tableCommit_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable MetaException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -11635,7 +11635,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MetaException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.MetaException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(tableCommit_result.class, metaDataMap);
     }
@@ -11644,7 +11644,7 @@ public class ArcticTableMetastore {
     }
 
     public tableCommit_result(
-      MetaException e1)
+      org.apache.amoro.api.MetaException e1)
     {
       this();
       this.e1 = e1;
@@ -11655,7 +11655,7 @@ public class ArcticTableMetastore {
      */
     public tableCommit_result(tableCommit_result other) {
       if (other.isSetE1()) {
-        this.e1 = new MetaException(other.e1);
+        this.e1 = new org.apache.amoro.api.MetaException(other.e1);
       }
     }
 
@@ -11669,11 +11669,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public MetaException getE1() {
+    public org.apache.amoro.api.MetaException getE1() {
       return this.e1;
     }
 
-    public tableCommit_result setE1(@org.apache.thrift.annotation.Nullable MetaException e1) {
+    public tableCommit_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.MetaException e1) {
       this.e1 = e1;
       return this;
     }
@@ -11699,7 +11699,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((MetaException)value);
+          setE1((org.apache.amoro.api.MetaException)value);
         }
         break;
 
@@ -11858,7 +11858,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new MetaException();
+                struct.e1 = new org.apache.amoro.api.MetaException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -11917,7 +11917,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.e1 = new MetaException();
+          struct.e1 = new org.apache.amoro.api.MetaException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
@@ -11938,7 +11938,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new allocateTransactionId_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new allocateTransactionId_argsTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
     public @org.apache.thrift.annotation.Nullable java.lang.String transactionSignature; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -12009,7 +12009,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
       tmpMap.put(_Fields.TRANSACTION_SIGNATURE, new org.apache.thrift.meta_data.FieldMetaData("transactionSignature", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
@@ -12020,7 +12020,7 @@ public class ArcticTableMetastore {
     }
 
     public allocateTransactionId_args(
-      TableIdentifier tableIdentifier,
+      org.apache.amoro.api.TableIdentifier tableIdentifier,
       java.lang.String transactionSignature)
     {
       this();
@@ -12033,7 +12033,7 @@ public class ArcticTableMetastore {
      */
     public allocateTransactionId_args(allocateTransactionId_args other) {
       if (other.isSetTableIdentifier()) {
-        this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
       }
       if (other.isSetTransactionSignature()) {
         this.transactionSignature = other.transactionSignature;
@@ -12051,11 +12051,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public TableIdentifier getTableIdentifier() {
+    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
       return this.tableIdentifier;
     }
 
-    public allocateTransactionId_args setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+    public allocateTransactionId_args setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
       this.tableIdentifier = tableIdentifier;
       return this;
     }
@@ -12106,7 +12106,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetTableIdentifier();
         } else {
-          setTableIdentifier((TableIdentifier)value);
+          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
         }
         break;
 
@@ -12312,7 +12312,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // TABLE_IDENTIFIER
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.tableIdentifier = new TableIdentifier();
+                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                 struct.tableIdentifier.read(iprot);
                 struct.setTableIdentifierIsSet(true);
               } else { 
@@ -12390,7 +12390,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.tableIdentifier = new TableIdentifier();
+          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
           struct.tableIdentifier.read(iprot);
           struct.setTableIdentifierIsSet(true);
         }
@@ -12780,7 +12780,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new block_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new block_argsTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
     public @org.apache.thrift.annotation.Nullable java.util.List<BlockableOperation> operations; // required
     public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties; // required
 
@@ -12855,7 +12855,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
       tmpMap.put(_Fields.OPERATIONS, new org.apache.thrift.meta_data.FieldMetaData("operations", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
               new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, BlockableOperation.class))));
@@ -12871,7 +12871,7 @@ public class ArcticTableMetastore {
     }
 
     public block_args(
-      TableIdentifier tableIdentifier,
+      org.apache.amoro.api.TableIdentifier tableIdentifier,
       java.util.List<BlockableOperation> operations,
       java.util.Map<java.lang.String,java.lang.String> properties)
     {
@@ -12886,7 +12886,7 @@ public class ArcticTableMetastore {
      */
     public block_args(block_args other) {
       if (other.isSetTableIdentifier()) {
-        this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
       }
       if (other.isSetOperations()) {
         java.util.List<BlockableOperation> __this__operations = new java.util.ArrayList<BlockableOperation>(other.operations.size());
@@ -12913,11 +12913,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public TableIdentifier getTableIdentifier() {
+    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
       return this.tableIdentifier;
     }
 
-    public block_args setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+    public block_args setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
       this.tableIdentifier = tableIdentifier;
       return this;
     }
@@ -13020,7 +13020,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetTableIdentifier();
         } else {
-          setTableIdentifier((TableIdentifier)value);
+          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
         }
         break;
 
@@ -13270,7 +13270,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // TABLE_IDENTIFIER
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.tableIdentifier = new TableIdentifier();
+                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                 struct.tableIdentifier.read(iprot);
                 struct.setTableIdentifierIsSet(true);
               } else { 
@@ -13285,7 +13285,7 @@ public class ArcticTableMetastore {
                   @org.apache.thrift.annotation.Nullable BlockableOperation _elem161;
                   for (int _i162 = 0; _i162 < _list160.size; ++_i162)
                   {
-                    _elem161 = BlockableOperation.findByValue(iprot.readI32());
+                    _elem161 = org.apache.amoro.api.BlockableOperation.findByValue(iprot.readI32());
                     if (_elem161 != null)
                     {
                       struct.operations.add(_elem161);
@@ -13420,7 +13420,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
-          struct.tableIdentifier = new TableIdentifier();
+          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
           struct.tableIdentifier.read(iprot);
           struct.setTableIdentifierIsSet(true);
         }
@@ -13431,7 +13431,7 @@ public class ArcticTableMetastore {
             @org.apache.thrift.annotation.Nullable BlockableOperation _elem172;
             for (int _i173 = 0; _i173 < _list171.size; ++_i173)
             {
-              _elem172 = BlockableOperation.findByValue(iprot.readI32());
+              _elem172 = org.apache.amoro.api.BlockableOperation.findByValue(iprot.readI32());
               if (_elem172 != null)
               {
                 struct.operations.add(_elem172);
@@ -13473,7 +13473,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new block_resultTupleSchemeFactory();
 
     public @org.apache.thrift.annotation.Nullable Blocker success; // required
-    public @org.apache.thrift.annotation.Nullable OperationConflictException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.OperationConflictException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -13545,7 +13545,7 @@ public class ArcticTableMetastore {
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Blocker.class)));
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, OperationConflictException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.OperationConflictException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(block_result.class, metaDataMap);
     }
@@ -13555,7 +13555,7 @@ public class ArcticTableMetastore {
 
     public block_result(
       Blocker success,
-      OperationConflictException e1)
+      org.apache.amoro.api.OperationConflictException e1)
     {
       this();
       this.success = success;
@@ -13570,7 +13570,7 @@ public class ArcticTableMetastore {
         this.success = new Blocker(other.success);
       }
       if (other.isSetE1()) {
-        this.e1 = new OperationConflictException(other.e1);
+        this.e1 = new org.apache.amoro.api.OperationConflictException(other.e1);
       }
     }
 
@@ -13610,11 +13610,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public OperationConflictException getE1() {
+    public org.apache.amoro.api.OperationConflictException getE1() {
       return this.e1;
     }
 
-    public block_result setE1(@org.apache.thrift.annotation.Nullable OperationConflictException e1) {
+    public block_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.OperationConflictException e1) {
       this.e1 = e1;
       return this;
     }
@@ -13648,7 +13648,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((OperationConflictException)value);
+          setE1((org.apache.amoro.api.OperationConflictException)value);
         }
         break;
 
@@ -13855,7 +13855,7 @@ public class ArcticTableMetastore {
               break;
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new OperationConflictException();
+                struct.e1 = new org.apache.amoro.api.OperationConflictException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -13930,7 +13930,7 @@ public class ArcticTableMetastore {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e1 = new OperationConflictException();
+          struct.e1 = new org.apache.amoro.api.OperationConflictException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
@@ -13951,7 +13951,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new releaseBlocker_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new releaseBlocker_argsTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
     public @org.apache.thrift.annotation.Nullable java.lang.String blockerId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -14022,7 +14022,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
       tmpMap.put(_Fields.BLOCKER_ID, new org.apache.thrift.meta_data.FieldMetaData("blockerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
@@ -14033,7 +14033,7 @@ public class ArcticTableMetastore {
     }
 
     public releaseBlocker_args(
-      TableIdentifier tableIdentifier,
+      org.apache.amoro.api.TableIdentifier tableIdentifier,
       java.lang.String blockerId)
     {
       this();
@@ -14046,7 +14046,7 @@ public class ArcticTableMetastore {
      */
     public releaseBlocker_args(releaseBlocker_args other) {
       if (other.isSetTableIdentifier()) {
-        this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
       }
       if (other.isSetBlockerId()) {
         this.blockerId = other.blockerId;
@@ -14064,11 +14064,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public TableIdentifier getTableIdentifier() {
+    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
       return this.tableIdentifier;
     }
 
-    public releaseBlocker_args setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+    public releaseBlocker_args setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
       this.tableIdentifier = tableIdentifier;
       return this;
     }
@@ -14119,7 +14119,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetTableIdentifier();
         } else {
-          setTableIdentifier((TableIdentifier)value);
+          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
         }
         break;
 
@@ -14325,7 +14325,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // TABLE_IDENTIFIER
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.tableIdentifier = new TableIdentifier();
+                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                 struct.tableIdentifier.read(iprot);
                 struct.setTableIdentifierIsSet(true);
               } else { 
@@ -14403,7 +14403,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.tableIdentifier = new TableIdentifier();
+          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
           struct.tableIdentifier.read(iprot);
           struct.setTableIdentifierIsSet(true);
         }
@@ -14682,7 +14682,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new renewBlocker_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renewBlocker_argsTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
     public @org.apache.thrift.annotation.Nullable java.lang.String blockerId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -14753,7 +14753,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
       tmpMap.put(_Fields.BLOCKER_ID, new org.apache.thrift.meta_data.FieldMetaData("blockerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
@@ -14764,7 +14764,7 @@ public class ArcticTableMetastore {
     }
 
     public renewBlocker_args(
-      TableIdentifier tableIdentifier,
+      org.apache.amoro.api.TableIdentifier tableIdentifier,
       java.lang.String blockerId)
     {
       this();
@@ -14777,7 +14777,7 @@ public class ArcticTableMetastore {
      */
     public renewBlocker_args(renewBlocker_args other) {
       if (other.isSetTableIdentifier()) {
-        this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
       }
       if (other.isSetBlockerId()) {
         this.blockerId = other.blockerId;
@@ -14795,11 +14795,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public TableIdentifier getTableIdentifier() {
+    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
       return this.tableIdentifier;
     }
 
-    public renewBlocker_args setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+    public renewBlocker_args setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
       this.tableIdentifier = tableIdentifier;
       return this;
     }
@@ -14850,7 +14850,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetTableIdentifier();
         } else {
-          setTableIdentifier((TableIdentifier)value);
+          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
         }
         break;
 
@@ -15056,7 +15056,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // TABLE_IDENTIFIER
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.tableIdentifier = new TableIdentifier();
+                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                 struct.tableIdentifier.read(iprot);
                 struct.setTableIdentifierIsSet(true);
               } else { 
@@ -15134,7 +15134,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.tableIdentifier = new TableIdentifier();
+          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
           struct.tableIdentifier.read(iprot);
           struct.setTableIdentifierIsSet(true);
         }
@@ -15160,7 +15160,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renewBlocker_resultTupleSchemeFactory();
 
     public long success; // required
-    public @org.apache.thrift.annotation.Nullable NoSuchObjectException e; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -15234,7 +15234,7 @@ public class ArcticTableMetastore {
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
       tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NoSuchObjectException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.NoSuchObjectException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(renewBlocker_result.class, metaDataMap);
     }
@@ -15244,7 +15244,7 @@ public class ArcticTableMetastore {
 
     public renewBlocker_result(
       long success,
-      NoSuchObjectException e)
+      org.apache.amoro.api.NoSuchObjectException e)
     {
       this();
       this.success = success;
@@ -15259,7 +15259,7 @@ public class ArcticTableMetastore {
       __isset_bitfield = other.__isset_bitfield;
       this.success = other.success;
       if (other.isSetE()) {
-        this.e = new NoSuchObjectException(other.e);
+        this.e = new org.apache.amoro.api.NoSuchObjectException(other.e);
       }
     }
 
@@ -15298,11 +15298,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public NoSuchObjectException getE() {
+    public org.apache.amoro.api.NoSuchObjectException getE() {
       return this.e;
     }
 
-    public renewBlocker_result setE(@org.apache.thrift.annotation.Nullable NoSuchObjectException e) {
+    public renewBlocker_result setE(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.NoSuchObjectException e) {
       this.e = e;
       return this;
     }
@@ -15336,7 +15336,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetE();
         } else {
-          setE((NoSuchObjectException)value);
+          setE((org.apache.amoro.api.NoSuchObjectException)value);
         }
         break;
 
@@ -15535,7 +15535,7 @@ public class ArcticTableMetastore {
               break;
             case 1: // E
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e = new NoSuchObjectException();
+                struct.e = new org.apache.amoro.api.NoSuchObjectException();
                 struct.e.read(iprot);
                 struct.setEIsSet(true);
               } else { 
@@ -15609,7 +15609,7 @@ public class ArcticTableMetastore {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e = new NoSuchObjectException();
+          struct.e = new org.apache.amoro.api.NoSuchObjectException();
           struct.e.read(iprot);
           struct.setEIsSet(true);
         }
@@ -15629,7 +15629,7 @@ public class ArcticTableMetastore {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBlockers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBlockers_argsTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -15696,7 +15696,7 @@ public class ArcticTableMetastore {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlockers_args.class, metaDataMap);
     }
@@ -15705,7 +15705,7 @@ public class ArcticTableMetastore {
     }
 
     public getBlockers_args(
-      TableIdentifier tableIdentifier)
+      org.apache.amoro.api.TableIdentifier tableIdentifier)
     {
       this();
       this.tableIdentifier = tableIdentifier;
@@ -15716,7 +15716,7 @@ public class ArcticTableMetastore {
      */
     public getBlockers_args(getBlockers_args other) {
       if (other.isSetTableIdentifier()) {
-        this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+        this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
       }
     }
 
@@ -15730,11 +15730,11 @@ public class ArcticTableMetastore {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public TableIdentifier getTableIdentifier() {
+    public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
       return this.tableIdentifier;
     }
 
-    public getBlockers_args setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+    public getBlockers_args setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
       this.tableIdentifier = tableIdentifier;
       return this;
     }
@@ -15760,7 +15760,7 @@ public class ArcticTableMetastore {
         if (value == null) {
           unsetTableIdentifier();
         } else {
-          setTableIdentifier((TableIdentifier)value);
+          setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
         }
         break;
 
@@ -15922,7 +15922,7 @@ public class ArcticTableMetastore {
           switch (schemeField.id) {
             case 1: // TABLE_IDENTIFIER
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.tableIdentifier = new TableIdentifier();
+                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                 struct.tableIdentifier.read(iprot);
                 struct.setTableIdentifierIsSet(true);
               } else { 
@@ -15981,7 +15981,7 @@ public class ArcticTableMetastore {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.tableIdentifier = new TableIdentifier();
+          struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
           struct.tableIdentifier.read(iprot);
           struct.setTableIdentifierIsSet(true);
         }
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java
index 88d676ba8..21fc42974 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public enum BlockableOperation implements org.apache.thrift.TEnum {
   OPTIMIZE(0),
   BATCH_WRITE(1);
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java
index 20c19e4dc..351b8b255 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class Blocker implements org.apache.thrift.TBase<Blocker, Blocker._Fields>, java.io.Serializable, Cloneable, Comparable<Blocker> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Blocker");
 
@@ -519,7 +519,7 @@ public class Blocker implements org.apache.thrift.TBase<Blocker, Blocker._Fields
                 @org.apache.thrift.annotation.Nullable BlockableOperation _elem119;
                 for (int _i120 = 0; _i120 < _list118.size; ++_i120)
                 {
-                  _elem119 = BlockableOperation.findByValue(iprot.readI32());
+                  _elem119 = org.apache.amoro.api.BlockableOperation.findByValue(iprot.readI32());
                   if (_elem119 != null)
                   {
                     struct.operations.add(_elem119);
@@ -664,7 +664,7 @@ public class Blocker implements org.apache.thrift.TBase<Blocker, Blocker._Fields
           @org.apache.thrift.annotation.Nullable BlockableOperation _elem130;
           for (int _i131 = 0; _i131 < _list129.size; ++_i131)
           {
-            _elem130 = BlockableOperation.findByValue(iprot.readI32());
+            _elem130 = org.apache.amoro.api.BlockableOperation.findByValue(iprot.readI32());
             if (_elem130 != null)
             {
               struct.operations.add(_elem130);
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java
index 98c3bdc1f..5a7b12230 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class CatalogMeta implements org.apache.thrift.TBase<CatalogMeta, CatalogMeta._Fields>, java.io.Serializable, Cloneable, Comparable<CatalogMeta> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CatalogMeta");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java
index 9dbeb8bb2..10918fe9b 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class ColumnInfo implements org.apache.thrift.TBase<ColumnInfo, ColumnInfo._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ColumnInfo");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java
index 7059c91fd..a1cdaea1e 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public enum CommitMetaProducer implements org.apache.thrift.TEnum {
   OPTIMIZE(0),
   INGESTION(1),
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java
index 528fc5781..45634363a 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class DataFile implements org.apache.thrift.TBase<DataFile, DataFile._Fields>, java.io.Serializable, Cloneable, Comparable<DataFile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataFile");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java
index 201f6fd20..2f67694b4 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class InvalidObjectException extends org.apache.thrift.TException implements org.apache.thrift.TBase<InvalidObjectException, InvalidObjectException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidObjectException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidObjectException");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java
index 523f30cbf..24cee1392 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class MetaException extends org.apache.thrift.TException implements org.apache.thrift.TBase<MetaException, MetaException._Fields>, java.io.Serializable, Cloneable, Comparable<MetaException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MetaException");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java
index 7377605d4..5282e0f1d 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class NoSuchObjectException extends org.apache.thrift.TException implements org.apache.thrift.TBase<NoSuchObjectException, NoSuchObjectException._Fields>, java.io.Serializable, Cloneable, Comparable<NoSuchObjectException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NoSuchObjectException");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java
index 5e642dfda..fb1d5f466 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class NotSupportedException extends org.apache.thrift.TException implements org.apache.thrift.TBase<NotSupportedException, NotSupportedException._Fields>, java.io.Serializable, Cloneable, Comparable<NotSupportedException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NotSupportedException");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java
index 765d74255..e2def8e2d 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class OperationConflictException extends org.apache.thrift.TException implements org.apache.thrift.TBase<OperationConflictException, OperationConflictException._Fields>, java.io.Serializable, Cloneable, Comparable<OperationConflictException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OperationConflictException");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizerRegisterInfo.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizerRegisterInfo.java
index 64402eff0..d5eecd353 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizerRegisterInfo.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizerRegisterInfo.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class OptimizerRegisterInfo implements org.apache.thrift.TBase<OptimizerRegisterInfo, OptimizerRegisterInfo._Fields>, java.io.Serializable, Cloneable, Comparable<OptimizerRegisterInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OptimizerRegisterInfo");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingService.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingService.java
index 87a6b6488..54ae49910 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingService.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingService.java
@@ -7,22 +7,22 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class OptimizingService {
 
   public interface Iface {
 
     public void ping() throws org.apache.thrift.TException;
 
-    public void touch(java.lang.String authToken) throws ArcticException, org.apache.thrift.TException;
+    public void touch(java.lang.String authToken) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException;
 
-    public OptimizingTask pollTask(java.lang.String authToken, int threadId) throws ArcticException, org.apache.thrift.TException;
+    public OptimizingTask pollTask(java.lang.String authToken, int threadId) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException;
 
-    public void ackTask(java.lang.String authToken, int threadId, OptimizingTaskId taskId) throws ArcticException, org.apache.thrift.TException;
+    public void ackTask(java.lang.String authToken, int threadId, OptimizingTaskId taskId) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException;
 
-    public void completeTask(java.lang.String authToken, OptimizingTaskResult taskResult) throws ArcticException, org.apache.thrift.TException;
+    public void completeTask(java.lang.String authToken, OptimizingTaskResult taskResult) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException;
 
-    public java.lang.String authenticate(OptimizerRegisterInfo registerInfo) throws ArcticException, org.apache.thrift.TException;
+    public java.lang.String authenticate(OptimizerRegisterInfo registerInfo) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException;
 
   }
 
@@ -81,7 +81,7 @@ public class OptimizingService {
       return;
     }
 
-    public void touch(java.lang.String authToken) throws ArcticException, org.apache.thrift.TException
+    public void touch(java.lang.String authToken) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       send_touch(authToken);
       recv_touch();
@@ -94,7 +94,7 @@ public class OptimizingService {
       sendBase("touch", args);
     }
 
-    public void recv_touch() throws ArcticException, org.apache.thrift.TException
+    public void recv_touch() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       touch_result result = new touch_result();
       receiveBase(result, "touch");
@@ -104,7 +104,7 @@ public class OptimizingService {
       return;
     }
 
-    public OptimizingTask pollTask(java.lang.String authToken, int threadId) throws ArcticException, org.apache.thrift.TException
+    public OptimizingTask pollTask(java.lang.String authToken, int threadId) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       send_pollTask(authToken, threadId);
       return recv_pollTask();
@@ -118,7 +118,7 @@ public class OptimizingService {
       sendBase("pollTask", args);
     }
 
-    public OptimizingTask recv_pollTask() throws ArcticException, org.apache.thrift.TException
+    public OptimizingTask recv_pollTask() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       pollTask_result result = new pollTask_result();
       receiveBase(result, "pollTask");
@@ -131,7 +131,7 @@ public class OptimizingService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "pollTask failed: unknown result");
     }
 
-    public void ackTask(java.lang.String authToken, int threadId, OptimizingTaskId taskId) throws ArcticException, org.apache.thrift.TException
+    public void ackTask(java.lang.String authToken, int threadId, OptimizingTaskId taskId) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       send_ackTask(authToken, threadId, taskId);
       recv_ackTask();
@@ -146,7 +146,7 @@ public class OptimizingService {
       sendBase("ackTask", args);
     }
 
-    public void recv_ackTask() throws ArcticException, org.apache.thrift.TException
+    public void recv_ackTask() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       ackTask_result result = new ackTask_result();
       receiveBase(result, "ackTask");
@@ -156,7 +156,7 @@ public class OptimizingService {
       return;
     }
 
-    public void completeTask(java.lang.String authToken, OptimizingTaskResult taskResult) throws ArcticException, org.apache.thrift.TException
+    public void completeTask(java.lang.String authToken, OptimizingTaskResult taskResult) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       send_completeTask(authToken, taskResult);
       recv_completeTask();
@@ -170,7 +170,7 @@ public class OptimizingService {
       sendBase("completeTask", args);
     }
 
-    public void recv_completeTask() throws ArcticException, org.apache.thrift.TException
+    public void recv_completeTask() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       completeTask_result result = new completeTask_result();
       receiveBase(result, "completeTask");
@@ -180,7 +180,7 @@ public class OptimizingService {
       return;
     }
 
-    public java.lang.String authenticate(OptimizerRegisterInfo registerInfo) throws ArcticException, org.apache.thrift.TException
+    public java.lang.String authenticate(OptimizerRegisterInfo registerInfo) throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       send_authenticate(registerInfo);
       return recv_authenticate();
@@ -193,7 +193,7 @@ public class OptimizingService {
       sendBase("authenticate", args);
     }
 
-    public java.lang.String recv_authenticate() throws ArcticException, org.apache.thrift.TException
+    public java.lang.String recv_authenticate() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException
     {
       authenticate_result result = new authenticate_result();
       receiveBase(result, "authenticate");
@@ -275,7 +275,7 @@ public class OptimizingService {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws ArcticException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -310,7 +310,7 @@ public class OptimizingService {
         prot.writeMessageEnd();
       }
 
-      public OptimizingTask getResult() throws ArcticException, org.apache.thrift.TException {
+      public OptimizingTask getResult() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -348,7 +348,7 @@ public class OptimizingService {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws ArcticException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -383,7 +383,7 @@ public class OptimizingService {
         prot.writeMessageEnd();
       }
 
-      public Void getResult() throws ArcticException, org.apache.thrift.TException {
+      public Void getResult() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -415,7 +415,7 @@ public class OptimizingService {
         prot.writeMessageEnd();
       }
 
-      public java.lang.String getResult() throws ArcticException, org.apache.thrift.TException {
+      public java.lang.String getResult() throws org.apache.amoro.api.AmoroException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
         }
@@ -494,7 +494,7 @@ public class OptimizingService {
         touch_result result = new touch_result();
         try {
           iface.touch(args.authToken);
-        } catch (ArcticException e1) {
+        } catch (org.apache.amoro.api.AmoroException e1) {
           result.e1 = e1;
         }
         return result;
@@ -523,7 +523,7 @@ public class OptimizingService {
         pollTask_result result = new pollTask_result();
         try {
           result.success = iface.pollTask(args.authToken, args.threadId);
-        } catch (ArcticException e1) {
+        } catch (org.apache.amoro.api.AmoroException e1) {
           result.e1 = e1;
         }
         return result;
@@ -552,7 +552,7 @@ public class OptimizingService {
         ackTask_result result = new ackTask_result();
         try {
           iface.ackTask(args.authToken, args.threadId, args.taskId);
-        } catch (ArcticException e1) {
+        } catch (org.apache.amoro.api.AmoroException e1) {
           result.e1 = e1;
         }
         return result;
@@ -581,7 +581,7 @@ public class OptimizingService {
         completeTask_result result = new completeTask_result();
         try {
           iface.completeTask(args.authToken, args.taskResult);
-        } catch (ArcticException e1) {
+        } catch (org.apache.amoro.api.AmoroException e1) {
           result.e1 = e1;
         }
         return result;
@@ -610,7 +610,7 @@ public class OptimizingService {
         authenticate_result result = new authenticate_result();
         try {
           result.success = iface.authenticate(args.registerInfo);
-        } catch (ArcticException e1) {
+        } catch (org.apache.amoro.api.AmoroException e1) {
           result.e1 = e1;
         }
         return result;
@@ -727,8 +727,8 @@ public class OptimizingService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             touch_result result = new touch_result();
-            if (e instanceof ArcticException) {
-              result.e1 = (ArcticException) e;
+            if (e instanceof org.apache.amoro.api.AmoroException) {
+              result.e1 = (org.apache.amoro.api.AmoroException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -792,8 +792,8 @@ public class OptimizingService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             pollTask_result result = new pollTask_result();
-            if (e instanceof ArcticException) {
-              result.e1 = (ArcticException) e;
+            if (e instanceof org.apache.amoro.api.AmoroException) {
+              result.e1 = (org.apache.amoro.api.AmoroException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -856,8 +856,8 @@ public class OptimizingService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             ackTask_result result = new ackTask_result();
-            if (e instanceof ArcticException) {
-              result.e1 = (ArcticException) e;
+            if (e instanceof org.apache.amoro.api.AmoroException) {
+              result.e1 = (org.apache.amoro.api.AmoroException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -920,8 +920,8 @@ public class OptimizingService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             completeTask_result result = new completeTask_result();
-            if (e instanceof ArcticException) {
-              result.e1 = (ArcticException) e;
+            if (e instanceof org.apache.amoro.api.AmoroException) {
+              result.e1 = (org.apache.amoro.api.AmoroException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -985,8 +985,8 @@ public class OptimizingService {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
             authenticate_result result = new authenticate_result();
-            if (e instanceof ArcticException) {
-              result.e1 = (ArcticException) e;
+            if (e instanceof org.apache.amoro.api.AmoroException) {
+              result.e1 = (org.apache.amoro.api.AmoroException) e;
               result.setE1IsSet(true);
               msg = result;
             } else if (e instanceof org.apache.thrift.transport.TTransportException) {
@@ -1906,7 +1906,7 @@ public class OptimizingService {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new touch_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new touch_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable ArcticException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -1973,7 +1973,7 @@ public class OptimizingService {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ArcticException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AmoroException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(touch_result.class, metaDataMap);
     }
@@ -1982,7 +1982,7 @@ public class OptimizingService {
     }
 
     public touch_result(
-      ArcticException e1)
+      org.apache.amoro.api.AmoroException e1)
     {
       this();
       this.e1 = e1;
@@ -1993,7 +1993,7 @@ public class OptimizingService {
      */
     public touch_result(touch_result other) {
       if (other.isSetE1()) {
-        this.e1 = new ArcticException(other.e1);
+        this.e1 = new org.apache.amoro.api.AmoroException(other.e1);
       }
     }
 
@@ -2007,11 +2007,11 @@ public class OptimizingService {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public ArcticException getE1() {
+    public org.apache.amoro.api.AmoroException getE1() {
       return this.e1;
     }
 
-    public touch_result setE1(@org.apache.thrift.annotation.Nullable ArcticException e1) {
+    public touch_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1) {
       this.e1 = e1;
       return this;
     }
@@ -2037,7 +2037,7 @@ public class OptimizingService {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((ArcticException)value);
+          setE1((org.apache.amoro.api.AmoroException)value);
         }
         break;
 
@@ -2196,7 +2196,7 @@ public class OptimizingService {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new ArcticException();
+                struct.e1 = new org.apache.amoro.api.AmoroException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -2255,7 +2255,7 @@ public class OptimizingService {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.e1 = new ArcticException();
+          struct.e1 = new org.apache.amoro.api.AmoroException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
@@ -2744,7 +2744,7 @@ public class OptimizingService {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new pollTask_resultTupleSchemeFactory();
 
     public @org.apache.thrift.annotation.Nullable OptimizingTask success; // required
-    public @org.apache.thrift.annotation.Nullable ArcticException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -2816,7 +2816,7 @@ public class OptimizingService {
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, OptimizingTask.class)));
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ArcticException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AmoroException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(pollTask_result.class, metaDataMap);
     }
@@ -2826,7 +2826,7 @@ public class OptimizingService {
 
     public pollTask_result(
       OptimizingTask success,
-      ArcticException e1)
+      org.apache.amoro.api.AmoroException e1)
     {
       this();
       this.success = success;
@@ -2841,7 +2841,7 @@ public class OptimizingService {
         this.success = new OptimizingTask(other.success);
       }
       if (other.isSetE1()) {
-        this.e1 = new ArcticException(other.e1);
+        this.e1 = new org.apache.amoro.api.AmoroException(other.e1);
       }
     }
 
@@ -2881,11 +2881,11 @@ public class OptimizingService {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public ArcticException getE1() {
+    public org.apache.amoro.api.AmoroException getE1() {
       return this.e1;
     }
 
-    public pollTask_result setE1(@org.apache.thrift.annotation.Nullable ArcticException e1) {
+    public pollTask_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1) {
       this.e1 = e1;
       return this;
     }
@@ -2919,7 +2919,7 @@ public class OptimizingService {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((ArcticException)value);
+          setE1((org.apache.amoro.api.AmoroException)value);
         }
         break;
 
@@ -3126,7 +3126,7 @@ public class OptimizingService {
               break;
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new ArcticException();
+                struct.e1 = new org.apache.amoro.api.AmoroException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -3201,7 +3201,7 @@ public class OptimizingService {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e1 = new ArcticException();
+          struct.e1 = new org.apache.amoro.api.AmoroException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
@@ -3798,7 +3798,7 @@ public class OptimizingService {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ackTask_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ackTask_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable ArcticException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -3865,7 +3865,7 @@ public class OptimizingService {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ArcticException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AmoroException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ackTask_result.class, metaDataMap);
     }
@@ -3874,7 +3874,7 @@ public class OptimizingService {
     }
 
     public ackTask_result(
-      ArcticException e1)
+      org.apache.amoro.api.AmoroException e1)
     {
       this();
       this.e1 = e1;
@@ -3885,7 +3885,7 @@ public class OptimizingService {
      */
     public ackTask_result(ackTask_result other) {
       if (other.isSetE1()) {
-        this.e1 = new ArcticException(other.e1);
+        this.e1 = new org.apache.amoro.api.AmoroException(other.e1);
       }
     }
 
@@ -3899,11 +3899,11 @@ public class OptimizingService {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public ArcticException getE1() {
+    public org.apache.amoro.api.AmoroException getE1() {
       return this.e1;
     }
 
-    public ackTask_result setE1(@org.apache.thrift.annotation.Nullable ArcticException e1) {
+    public ackTask_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1) {
       this.e1 = e1;
       return this;
     }
@@ -3929,7 +3929,7 @@ public class OptimizingService {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((ArcticException)value);
+          setE1((org.apache.amoro.api.AmoroException)value);
         }
         break;
 
@@ -4088,7 +4088,7 @@ public class OptimizingService {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new ArcticException();
+                struct.e1 = new org.apache.amoro.api.AmoroException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -4147,7 +4147,7 @@ public class OptimizingService {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.e1 = new ArcticException();
+          struct.e1 = new org.apache.amoro.api.AmoroException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
@@ -4644,7 +4644,7 @@ public class OptimizingService {
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new completeTask_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new completeTask_resultTupleSchemeFactory();
 
-    public @org.apache.thrift.annotation.Nullable ArcticException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -4711,7 +4711,7 @@ public class OptimizingService {
     static {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ArcticException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AmoroException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(completeTask_result.class, metaDataMap);
     }
@@ -4720,7 +4720,7 @@ public class OptimizingService {
     }
 
     public completeTask_result(
-      ArcticException e1)
+      org.apache.amoro.api.AmoroException e1)
     {
       this();
       this.e1 = e1;
@@ -4731,7 +4731,7 @@ public class OptimizingService {
      */
     public completeTask_result(completeTask_result other) {
       if (other.isSetE1()) {
-        this.e1 = new ArcticException(other.e1);
+        this.e1 = new org.apache.amoro.api.AmoroException(other.e1);
       }
     }
 
@@ -4745,11 +4745,11 @@ public class OptimizingService {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public ArcticException getE1() {
+    public org.apache.amoro.api.AmoroException getE1() {
       return this.e1;
     }
 
-    public completeTask_result setE1(@org.apache.thrift.annotation.Nullable ArcticException e1) {
+    public completeTask_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1) {
       this.e1 = e1;
       return this;
     }
@@ -4775,7 +4775,7 @@ public class OptimizingService {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((ArcticException)value);
+          setE1((org.apache.amoro.api.AmoroException)value);
         }
         break;
 
@@ -4934,7 +4934,7 @@ public class OptimizingService {
           switch (schemeField.id) {
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new ArcticException();
+                struct.e1 = new org.apache.amoro.api.AmoroException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -4993,7 +4993,7 @@ public class OptimizingService {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.e1 = new ArcticException();
+          struct.e1 = new org.apache.amoro.api.AmoroException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
@@ -5387,7 +5387,7 @@ public class OptimizingService {
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new authenticate_resultTupleSchemeFactory();
 
     public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
-    public @org.apache.thrift.annotation.Nullable ArcticException e1; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -5459,7 +5459,7 @@ public class OptimizingService {
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.E1, new org.apache.thrift.meta_data.FieldMetaData("e1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ArcticException.class)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.AmoroException.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(authenticate_result.class, metaDataMap);
     }
@@ -5469,7 +5469,7 @@ public class OptimizingService {
 
     public authenticate_result(
       java.lang.String success,
-      ArcticException e1)
+      org.apache.amoro.api.AmoroException e1)
     {
       this();
       this.success = success;
@@ -5484,7 +5484,7 @@ public class OptimizingService {
         this.success = other.success;
       }
       if (other.isSetE1()) {
-        this.e1 = new ArcticException(other.e1);
+        this.e1 = new org.apache.amoro.api.AmoroException(other.e1);
       }
     }
 
@@ -5524,11 +5524,11 @@ public class OptimizingService {
     }
 
     @org.apache.thrift.annotation.Nullable
-    public ArcticException getE1() {
+    public org.apache.amoro.api.AmoroException getE1() {
       return this.e1;
     }
 
-    public authenticate_result setE1(@org.apache.thrift.annotation.Nullable ArcticException e1) {
+    public authenticate_result setE1(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.AmoroException e1) {
       this.e1 = e1;
       return this;
     }
@@ -5562,7 +5562,7 @@ public class OptimizingService {
         if (value == null) {
           unsetE1();
         } else {
-          setE1((ArcticException)value);
+          setE1((org.apache.amoro.api.AmoroException)value);
         }
         break;
 
@@ -5765,7 +5765,7 @@ public class OptimizingService {
               break;
             case 1: // E1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.e1 = new ArcticException();
+                struct.e1 = new org.apache.amoro.api.AmoroException();
                 struct.e1.read(iprot);
                 struct.setE1IsSet(true);
               } else { 
@@ -5839,7 +5839,7 @@ public class OptimizingService {
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.e1 = new ArcticException();
+          struct.e1 = new org.apache.amoro.api.AmoroException();
           struct.e1.read(iprot);
           struct.setE1IsSet(true);
         }
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTask.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTask.java
index 5aeec6432..adad611ef 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTask.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTask.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class OptimizingTask implements org.apache.thrift.TBase<OptimizingTask, OptimizingTask._Fields>, java.io.Serializable, Cloneable, Comparable<OptimizingTask> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OptimizingTask");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskId.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskId.java
index 1a20542f4..4c3c876fc 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskId.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskId.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class OptimizingTaskId implements org.apache.thrift.TBase<OptimizingTaskId, OptimizingTaskId._Fields>, java.io.Serializable, Cloneable, Comparable<OptimizingTaskId> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OptimizingTaskId");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskResult.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskResult.java
index 583150e43..fd11ae442 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskResult.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/OptimizingTaskResult.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class OptimizingTaskResult implements org.apache.thrift.TBase<OptimizingTaskResult, OptimizingTaskResult._Fields>, java.io.Serializable, Cloneable, Comparable<OptimizingTaskResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OptimizingTaskResult");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java
index 024b85d58..ab0bba809 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class PartitionFieldData implements org.apache.thrift.TBase<PartitionFieldData, PartitionFieldData._Fields>, java.io.Serializable, Cloneable, Comparable<PartitionFieldData> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PartitionFieldData");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java
index 42d61f2e3..50f2dfc0a 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class PrimaryKeySpec implements org.apache.thrift.TBase<PrimaryKeySpec, PrimaryKeySpec._Fields>, java.io.Serializable, Cloneable, Comparable<PrimaryKeySpec> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PrimaryKeySpec");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java
index 055109289..dc683e6cb 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class Schema implements org.apache.thrift.TBase<Schema, Schema._Fields>, java.io.Serializable, Cloneable, Comparable<Schema> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Schema");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java
index c0bfccb82..6814215b9 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class SchemaUpdateMeta implements org.apache.thrift.TBase<SchemaUpdateMeta, SchemaUpdateMeta._Fields>, java.io.Serializable, Cloneable, Comparable<SchemaUpdateMeta> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SchemaUpdateMeta");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java
index 2992d114e..54b618be2 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class TableChange implements org.apache.thrift.TBase<TableChange, TableChange._Fields>, java.io.Serializable, Cloneable, Comparable<TableChange> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TableChange");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java
index 6848cfd53..23d1a92ab 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta, TableCommitMeta._Fields>, java.io.Serializable, Cloneable, Comparable<TableCommitMeta> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TableCommitMeta");
 
@@ -22,7 +22,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TableCommitMetaStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TableCommitMetaTupleSchemeFactory();
 
-  public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+  public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
   public @org.apache.thrift.annotation.Nullable java.lang.String action; // required
   public @org.apache.thrift.annotation.Nullable java.util.List<TableChange> changes; // required
   public long commitTime; // required
@@ -115,7 +115,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
   static {
     java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
     tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
     tmpMap.put(_Fields.ACTION, new org.apache.thrift.meta_data.FieldMetaData("action", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CHANGES, new org.apache.thrift.meta_data.FieldMetaData("changes", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -139,7 +139,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
   }
 
   public TableCommitMeta(
-    TableIdentifier tableIdentifier,
+    org.apache.amoro.api.TableIdentifier tableIdentifier,
     java.lang.String action,
     java.util.List<TableChange> changes,
     long commitTime,
@@ -164,7 +164,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
   public TableCommitMeta(TableCommitMeta other) {
     __isset_bitfield = other.__isset_bitfield;
     if (other.isSetTableIdentifier()) {
-      this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+      this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
     }
     if (other.isSetAction()) {
       this.action = other.action;
@@ -206,11 +206,11 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
   }
 
   @org.apache.thrift.annotation.Nullable
-  public TableIdentifier getTableIdentifier() {
+  public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
     return this.tableIdentifier;
   }
 
-  public TableCommitMeta setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+  public TableCommitMeta setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
     this.tableIdentifier = tableIdentifier;
     return this;
   }
@@ -411,7 +411,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
       if (value == null) {
         unsetTableIdentifier();
       } else {
-        setTableIdentifier((TableIdentifier)value);
+        setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
       }
       break;
 
@@ -833,7 +833,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
         switch (schemeField.id) {
           case 1: // TABLE_IDENTIFIER
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.tableIdentifier = new TableIdentifier();
+              struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
               struct.tableIdentifier.read(iprot);
               struct.setTableIdentifierIsSet(true);
             } else { 
@@ -897,7 +897,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
             break;
           case 6: // COMMIT_META_PRODUCER
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.commitMetaProducer = CommitMetaProducer.findByValue(iprot.readI32());
+              struct.commitMetaProducer = org.apache.amoro.api.CommitMetaProducer.findByValue(iprot.readI32());
               struct.setCommitMetaProducerIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -1056,7 +1056,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
       java.util.BitSet incoming = iprot.readBitSet(7);
       if (incoming.get(0)) {
-        struct.tableIdentifier = new TableIdentifier();
+        struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
         struct.tableIdentifier.read(iprot);
         struct.setTableIdentifierIsSet(true);
       }
@@ -1098,7 +1098,7 @@ public class TableCommitMeta implements org.apache.thrift.TBase<TableCommitMeta,
         struct.setPropertiesIsSet(true);
       }
       if (incoming.get(5)) {
-        struct.commitMetaProducer = CommitMetaProducer.findByValue(iprot.readI32());
+        struct.commitMetaProducer = org.apache.amoro.api.CommitMetaProducer.findByValue(iprot.readI32());
         struct.setCommitMetaProducerIsSet(true);
       }
       if (incoming.get(6)) {
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java
index c65251364..f00985c2f 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class TableIdentifier implements org.apache.thrift.TBase<TableIdentifier, TableIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TableIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TableIdentifier");
 
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java
index e21bf1fec..c9c16c740 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._Fields>, java.io.Serializable, Cloneable, Comparable<TableMeta> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TableMeta");
 
@@ -20,7 +20,7 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TableMetaStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TableMetaTupleSchemeFactory();
 
-  public @org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier; // required
+  public @org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier; // required
   public @org.apache.thrift.annotation.Nullable PrimaryKeySpec keySpec; // required
   public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties; // optional
   public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> locations; // required
@@ -104,7 +104,7 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
   static {
     java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
     tmpMap.put(_Fields.TABLE_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("tableIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TableIdentifier.class)));
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.amoro.api.TableIdentifier.class)));
     tmpMap.put(_Fields.KEY_SPEC, new org.apache.thrift.meta_data.FieldMetaData("keySpec", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT        , "PrimaryKeySpec")));
     tmpMap.put(_Fields.PROPERTIES, new org.apache.thrift.meta_data.FieldMetaData("properties", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -125,7 +125,7 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
   }
 
   public TableMeta(
-    TableIdentifier tableIdentifier,
+    org.apache.amoro.api.TableIdentifier tableIdentifier,
     PrimaryKeySpec keySpec,
     java.util.Map<java.lang.String,java.lang.String> locations,
     java.lang.String format)
@@ -142,7 +142,7 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
    */
   public TableMeta(TableMeta other) {
     if (other.isSetTableIdentifier()) {
-      this.tableIdentifier = new TableIdentifier(other.tableIdentifier);
+      this.tableIdentifier = new org.apache.amoro.api.TableIdentifier(other.tableIdentifier);
     }
     if (other.isSetKeySpec()) {
       this.keySpec = new PrimaryKeySpec(other.keySpec);
@@ -174,11 +174,11 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
   }
 
   @org.apache.thrift.annotation.Nullable
-  public TableIdentifier getTableIdentifier() {
+  public org.apache.amoro.api.TableIdentifier getTableIdentifier() {
     return this.tableIdentifier;
   }
 
-  public TableMeta setTableIdentifier(@org.apache.thrift.annotation.Nullable TableIdentifier tableIdentifier) {
+  public TableMeta setTableIdentifier(@org.apache.thrift.annotation.Nullable org.apache.amoro.api.TableIdentifier tableIdentifier) {
     this.tableIdentifier = tableIdentifier;
     return this;
   }
@@ -326,7 +326,7 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
       if (value == null) {
         unsetTableIdentifier();
       } else {
-        setTableIdentifier((TableIdentifier)value);
+        setTableIdentifier((org.apache.amoro.api.TableIdentifier)value);
       }
       break;
 
@@ -666,7 +666,7 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
         switch (schemeField.id) {
           case 1: // TABLE_IDENTIFIER
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.tableIdentifier = new TableIdentifier();
+              struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
               struct.tableIdentifier.read(iprot);
               struct.setTableIdentifierIsSet(true);
             } else { 
@@ -858,7 +858,7 @@ public class TableMeta implements org.apache.thrift.TBase<TableMeta, TableMeta._
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
       java.util.BitSet incoming = iprot.readBitSet(5);
       if (incoming.get(0)) {
-        struct.tableIdentifier = new TableIdentifier();
+        struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
         struct.tableIdentifier.read(iprot);
         struct.setTableIdentifierIsSet(true);
       }
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java b/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java
index 25f56fbaa..aae573028 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java
@@ -7,7 +7,7 @@
 package org.apache.amoro.api;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-03-10")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)", date = "2024-04-29")
 public class UpdateColumn implements org.apache.thrift.TBase<UpdateColumn, UpdateColumn._Fields>, java.io.Serializable, Cloneable, Comparable<UpdateColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UpdateColumn");
 
diff --git a/amoro-core/src/main/java/org/apache/amoro/AmsClient.java b/amoro-core/src/main/java/org/apache/amoro/AmsClient.java
index e5bd0aba5..5dab22119 100644
--- a/amoro-core/src/main/java/org/apache/amoro/AmsClient.java
+++ b/amoro-core/src/main/java/org/apache/amoro/AmsClient.java
@@ -18,9 +18,9 @@
 
 package org.apache.amoro;
 
-import org.apache.amoro.api.ArcticTableMetastore;
+import org.apache.amoro.api.AmoroTableMetastore;
 
 import java.io.Serializable;
 
 /** Thrift client API to communicate with ams. */
-public interface AmsClient extends ArcticTableMetastore.Iface, Serializable {}
+public interface AmsClient extends AmoroTableMetastore.Iface, Serializable {}
diff --git a/amoro-core/src/main/java/org/apache/amoro/PooledAmsClient.java b/amoro-core/src/main/java/org/apache/amoro/PooledAmsClient.java
index 9ffe19d51..457919410 100644
--- a/amoro-core/src/main/java/org/apache/amoro/PooledAmsClient.java
+++ b/amoro-core/src/main/java/org/apache/amoro/PooledAmsClient.java
@@ -18,7 +18,7 @@
 
 package org.apache.amoro;
 
-import org.apache.amoro.api.ArcticTableMetastore;
+import org.apache.amoro.api.AmoroTableMetastore;
 import org.apache.amoro.api.BlockableOperation;
 import org.apache.amoro.api.Blocker;
 import org.apache.amoro.api.CatalogMeta;
@@ -39,7 +39,7 @@ public class PooledAmsClient implements AmsClient {
     this.metastoreUrl = metastoreUrl;
   }
 
-  private ArcticTableMetastore.Iface getIface() {
+  private AmoroTableMetastore.Iface getIface() {
     return AmsClientPools.getClientPool(metastoreUrl).iface();
   }
 
diff --git a/amoro-core/src/main/java/org/apache/amoro/client/AmsClientPools.java b/amoro-core/src/main/java/org/apache/amoro/client/AmsClientPools.java
index a1a07c613..87fa4487a 100644
--- a/amoro-core/src/main/java/org/apache/amoro/client/AmsClientPools.java
+++ b/amoro-core/src/main/java/org/apache/amoro/client/AmsClientPools.java
@@ -21,7 +21,7 @@ package org.apache.amoro.client;
 import com.github.benmanes.caffeine.cache.Caffeine;
 import com.github.benmanes.caffeine.cache.LoadingCache;
 import org.apache.amoro.Constants;
-import org.apache.amoro.api.ArcticTableMetastore;
+import org.apache.amoro.api.AmoroTableMetastore;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TMultiplexedProtocol;
@@ -34,10 +34,10 @@ public class AmsClientPools {
   private static final int CLIENT_POOL_MAX_IDLE = 5;
   private static final int CLIENT_POOL_MAX_WAIT_MS = 5000;
 
-  private static final LoadingCache<String, ThriftClientPool<ArcticTableMetastore.Client>>
+  private static final LoadingCache<String, ThriftClientPool<AmoroTableMetastore.Client>>
       CLIENT_POOLS = Caffeine.newBuilder().build(AmsClientPools::buildClientPool);
 
-  public static ThriftClientPool<ArcticTableMetastore.Client> getClientPool(String metastoreUrl) {
+  public static ThriftClientPool<AmoroTableMetastore.Client> getClientPool(String metastoreUrl) {
     return CLIENT_POOLS.get(metastoreUrl);
   }
 
@@ -45,7 +45,7 @@ public class AmsClientPools {
     CLIENT_POOLS.cleanUp();
   }
 
-  private static ThriftClientPool<ArcticTableMetastore.Client> buildClientPool(String url) {
+  private static ThriftClientPool<AmoroTableMetastore.Client> buildClientPool(String url) {
     PoolConfig poolConfig = new PoolConfig();
     poolConfig.setFailover(true);
     poolConfig.setMinIdle(CLIENT_POOL_MIN_IDLE);
@@ -55,14 +55,14 @@ public class AmsClientPools {
         url,
         s -> {
           TProtocol protocol = new TBinaryProtocol(s);
-          ArcticTableMetastore.Client tableMetastore =
-              new ArcticTableMetastore.Client(
+          AmoroTableMetastore.Client tableMetastore =
+              new AmoroTableMetastore.Client(
                   new TMultiplexedProtocol(protocol, Constants.THRIFT_TABLE_SERVICE_NAME));
           return tableMetastore;
         },
         c -> {
           try {
-            ((ArcticTableMetastore.Client) c).ping();
+            ((AmoroTableMetastore.Client) c).ping();
           } catch (TException e) {
             return false;
           }
diff --git a/amoro-core/src/main/java/org/apache/amoro/mixed/CatalogLoader.java b/amoro-core/src/main/java/org/apache/amoro/mixed/CatalogLoader.java
index 7025ffa41..7e5225de4 100644
--- a/amoro-core/src/main/java/org/apache/amoro/mixed/CatalogLoader.java
+++ b/amoro-core/src/main/java/org/apache/amoro/mixed/CatalogLoader.java
@@ -22,7 +22,7 @@ import org.apache.amoro.AmsClient;
 import org.apache.amoro.Constants;
 import org.apache.amoro.PooledAmsClient;
 import org.apache.amoro.TableFormat;
-import org.apache.amoro.api.ArcticTableMetastore;
+import org.apache.amoro.api.AmoroTableMetastore;
 import org.apache.amoro.api.CatalogMeta;
 import org.apache.amoro.api.NoSuchObjectException;
 import org.apache.amoro.client.AmsClientPools;
@@ -149,7 +149,7 @@ public class CatalogLoader {
    */
   public static List<String> catalogs(String metastoreUrl) {
     try {
-      return ((ArcticTableMetastore.Iface) AmsClientPools.getClientPool(metastoreUrl).iface())
+      return ((AmoroTableMetastore.Iface) AmsClientPools.getClientPool(metastoreUrl).iface())
           .getCatalogs().stream().map(CatalogMeta::getCatalogName).collect(Collectors.toList());
     } catch (TException e) {
       throw new IllegalStateException("failed when load catalogs", e);
diff --git a/amoro-core/src/main/thrift/arctic_commons.thrift b/amoro-core/src/main/thrift/amoro_commons.thrift
similarity index 98%
rename from amoro-core/src/main/thrift/arctic_commons.thrift
rename to amoro-core/src/main/thrift/amoro_commons.thrift
index 9263ad5eb..aa21f2fe7 100644
--- a/amoro-core/src/main/thrift/arctic_commons.thrift
+++ b/amoro-core/src/main/thrift/amoro_commons.thrift
@@ -47,7 +47,7 @@ exception OperationConflictException {
   1: string message
 }
 
-exception ArcticException {
+exception AmoroException {
   1: i32 errorCode
   2: string errorName
   3: string message
diff --git a/amoro-core/src/main/thrift/arctic_optimizing_service.thrift b/amoro-core/src/main/thrift/amoro_optimizing_service.thrift
similarity index 83%
rename from amoro-core/src/main/thrift/arctic_optimizing_service.thrift
rename to amoro-core/src/main/thrift/amoro_optimizing_service.thrift
index 4d0225af2..360ab6b6b 100644
--- a/amoro-core/src/main/thrift/arctic_optimizing_service.thrift
+++ b/amoro-core/src/main/thrift/amoro_optimizing_service.thrift
@@ -18,7 +18,7 @@
 
 namespace java org.apache.amoro.api
 
-include "arctic_commons.thrift"
+include "amoro_commons.thrift"
 
 struct OptimizingTask {
     1: OptimizingTaskId taskId;
@@ -52,17 +52,17 @@ service OptimizingService {
 
     void ping()
 
-    void touch(1: string authToken) throws(1: arctic_commons.ArcticException e1)
+    void touch(1: string authToken) throws(1: amoro_commons.AmoroException e1)
 
     OptimizingTask pollTask(1: string authToken, 2: i32 threadId)
-            throws (1: arctic_commons.ArcticException e1)
+            throws (1: amoro_commons.AmoroException e1)
 
     void ackTask(1: string authToken, 2: i32 threadId, 3: OptimizingTaskId taskId)
-            throws(1: arctic_commons.ArcticException e1)
+            throws(1: amoro_commons.AmoroException e1)
 
     void completeTask(1: string authToken, 2: OptimizingTaskResult taskResult)
-            throws (1: arctic_commons.ArcticException e1)
+            throws (1: amoro_commons.AmoroException e1)
 
     string authenticate(1: OptimizerRegisterInfo registerInfo)
-            throws (1: arctic_commons.ArcticException e1)
-}
\ No newline at end of file
+            throws (1: amoro_commons.AmoroException e1)
+}
diff --git a/amoro-core/src/main/thrift/arctic_table_metastore.thrift b/amoro-core/src/main/thrift/amoro_table_metastore.thrift
similarity index 63%
rename from amoro-core/src/main/thrift/arctic_table_metastore.thrift
rename to amoro-core/src/main/thrift/amoro_table_metastore.thrift
index fb6ef8d1e..bdf18722b 100644
--- a/amoro-core/src/main/thrift/arctic_table_metastore.thrift
+++ b/amoro-core/src/main/thrift/amoro_table_metastore.thrift
@@ -18,7 +18,7 @@
 
 namespace java org.apache.amoro.api
 
-include "arctic_commons.thrift"
+include "amoro_commons.thrift"
 
 struct CatalogMeta {
   1: required string catalogName;
@@ -60,7 +60,7 @@ struct TableChange {
 
 // task commit info
 struct TableCommitMeta {
-    1: arctic_commons.TableIdentifier tableIdentifier;
+    1: amoro_commons.TableIdentifier tableIdentifier;
     2: string action;
     3: list<TableChange> changes;
     4: i64 commitTime;
@@ -85,7 +85,7 @@ struct SchemaUpdateMeta {
 }
 
 struct TableMeta {
-    1:arctic_commons.TableIdentifier tableIdentifier;
+    1:amoro_commons.TableIdentifier tableIdentifier;
     2:PrimaryKeySpec keySpec;
     3:optional map<string, string> properties;
     4:map<string, string> locations ;
@@ -115,55 +115,55 @@ enum BlockableOperation {
 
 
 /**
-* replace TableContainer、ArcticTableItem
+* replace TableContainer、AmoroTableItem
 **/
-service ArcticTableMetastore {
+service AmoroTableMetastore {
 
     void ping()
 
     // catalog api
     list<CatalogMeta> getCatalogs()
 
-    CatalogMeta getCatalog(1: string name) throws (1: arctic_commons.NoSuchObjectException e1)
+    CatalogMeta getCatalog(1: string name) throws (1: amoro_commons.NoSuchObjectException e1)
 
-    list<string> getDatabases(1: string catalogName) throws (1: arctic_commons.NoSuchObjectException e)
+    list<string> getDatabases(1: string catalogName) throws (1: amoro_commons.NoSuchObjectException e)
 
     void createDatabase(1: string catalogName, 2: string database) throws (
-          1: arctic_commons.NoSuchObjectException e1,
-          2: arctic_commons.AlreadyExistsException e2)
+          1: amoro_commons.NoSuchObjectException e1,
+          2: amoro_commons.AlreadyExistsException e2)
 
     void dropDatabase(1: string catalogName, 2: string database) throws (
-          1: arctic_commons.NoSuchObjectException e1,
-          2: arctic_commons.NotSupportedException e2)
+          1: amoro_commons.NoSuchObjectException e1,
+          2: amoro_commons.NotSupportedException e2)
 
     void createTableMeta(1: TableMeta tableMeta)
           throws(
-          1: arctic_commons.AlreadyExistsException e1,
-          2: arctic_commons.InvalidObjectException e2
-          3: arctic_commons.MetaException e3)
+          1: amoro_commons.AlreadyExistsException e1,
+          2: amoro_commons.InvalidObjectException e2
+          3: amoro_commons.MetaException e3)
 
     list<TableMeta> listTables(1: string catalogName, 2: string database)
-        throws(1: arctic_commons.NoSuchObjectException e);
+        throws(1: amoro_commons.NoSuchObjectException e);
 
-    TableMeta getTable(1:arctic_commons.TableIdentifier tableIdentifier)
-            throws(1: arctic_commons.NoSuchObjectException e);
+    TableMeta getTable(1:amoro_commons.TableIdentifier tableIdentifier)
+            throws(1: amoro_commons.NoSuchObjectException e);
 
-    void removeTable(1:arctic_commons.TableIdentifier tableIdentifier, 2:bool deleteData)
+    void removeTable(1:amoro_commons.TableIdentifier tableIdentifier, 2:bool deleteData)
         throws(
-        1:arctic_commons.NoSuchObjectException e1,
-        2:arctic_commons.MetaException e2)
+        1:amoro_commons.NoSuchObjectException e1,
+        2:amoro_commons.MetaException e2)
 
-    void tableCommit(1: TableCommitMeta commit) throws (1: arctic_commons.MetaException e1)
+    void tableCommit(1: TableCommitMeta commit) throws (1: amoro_commons.MetaException e1)
 
-    i64 allocateTransactionId(1:arctic_commons.TableIdentifier tableIdentifier, 2:string transactionSignature)
+    i64 allocateTransactionId(1:amoro_commons.TableIdentifier tableIdentifier, 2:string transactionSignature)
 
-    Blocker block(1:arctic_commons.TableIdentifier tableIdentifier, 2:list<BlockableOperation> operations, 3:map<string, string> properties)
-            throws (1: arctic_commons.OperationConflictException e1)
+    Blocker block(1:amoro_commons.TableIdentifier tableIdentifier, 2:list<BlockableOperation> operations, 3:map<string, string> properties)
+            throws (1: amoro_commons.OperationConflictException e1)
 
-    void releaseBlocker(1:arctic_commons.TableIdentifier tableIdentifier, 2:string blockerId)
+    void releaseBlocker(1:amoro_commons.TableIdentifier tableIdentifier, 2:string blockerId)
 
-    i64 renewBlocker(1:arctic_commons.TableIdentifier tableIdentifier, 2:string blockerId)
-        throws(1: arctic_commons.NoSuchObjectException e)
+    i64 renewBlocker(1:amoro_commons.TableIdentifier tableIdentifier, 2:string blockerId)
+        throws(1: amoro_commons.NoSuchObjectException e)
 
-    list<Blocker> getBlockers(1:arctic_commons.TableIdentifier tableIdentifier)
+    list<Blocker> getBlockers(1:amoro_commons.TableIdentifier tableIdentifier)
 }
diff --git a/amoro-core/src/test/java/org/apache/amoro/MockAmoroManagementServer.java b/amoro-core/src/test/java/org/apache/amoro/MockAmoroManagementServer.java
index b1f5cf43f..1c60d3150 100644
--- a/amoro-core/src/test/java/org/apache/amoro/MockAmoroManagementServer.java
+++ b/amoro-core/src/test/java/org/apache/amoro/MockAmoroManagementServer.java
@@ -19,8 +19,8 @@
 package org.apache.amoro;
 
 import org.apache.amoro.api.AlreadyExistsException;
-import org.apache.amoro.api.ArcticException;
-import org.apache.amoro.api.ArcticTableMetastore;
+import org.apache.amoro.api.AmoroException;
+import org.apache.amoro.api.AmoroTableMetastore;
 import org.apache.amoro.api.BlockableOperation;
 import org.apache.amoro.api.Blocker;
 import org.apache.amoro.api.CatalogMeta;
@@ -152,8 +152,8 @@ public class MockAmoroManagementServer implements Runnable {
     try {
       TServerSocket socket = new TServerSocket(port);
       TMultiplexedProcessor processor = new TMultiplexedProcessor();
-      ArcticTableMetastore.Processor<AmsHandler> amsProcessor =
-          new ArcticTableMetastore.Processor<>(amsHandler);
+      AmoroTableMetastore.Processor<AmsHandler> amsProcessor =
+          new AmoroTableMetastore.Processor<>(amsHandler);
       processor.registerProcessor("TableMetastore", amsProcessor);
 
       OptimizingService.Processor<OptimizerManagerHandler> optimizerManProcessor =
@@ -210,7 +210,7 @@ public class MockAmoroManagementServer implements Runnable {
     }
   }
 
-  public static class AmsHandler implements ArcticTableMetastore.Iface {
+  public static class AmsHandler implements AmoroTableMetastore.Iface {
     private static final long DEFAULT_BLOCKER_TIMEOUT = 60_000;
     private final ConcurrentLinkedQueue<CatalogMeta> catalogs = new ConcurrentLinkedQueue<>();
     private final ConcurrentLinkedQueue<TableMeta> tables = new ConcurrentLinkedQueue<>();
@@ -437,7 +437,7 @@ public class MockAmoroManagementServer implements Runnable {
       }
       Map<Integer, OptimizingTaskId> executingTasksMap = executingTasks.get(authToken);
       if (executingTasksMap.containsKey(threadId)) {
-        throw new ArcticException(
+        throw new AmoroException(
             ErrorCodes.TASK_RUNTIME_ERROR_CODE,
             "DuplicateTask",
             String.format(
@@ -484,9 +484,9 @@ public class MockAmoroManagementServer implements Runnable {
       return completedTasks;
     }
 
-    private void checkToken(String token) throws ArcticException {
+    private void checkToken(String token) throws AmoroException {
       if (!registeredOptimizers.containsKey(token)) {
-        throw new ArcticException(
+        throw new AmoroException(
             ErrorCodes.PLUGIN_RETRY_AUTH_ERROR_CODE, "unknown token", "unknown token");
       }
     }