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/04/18 08:12:45 UTC

(amoro) branch master updated: Change package name for module ams (#2759)

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 dc84d2ac8 Change package name for module ams (#2759)
dc84d2ac8 is described below

commit dc84d2ac8118213e52412fd8ad327aa66315840a
Author: ZhouJinsong <zh...@163.com>
AuthorDate: Thu Apr 18 16:12:39 2024 +0800

    Change package name for module ams (#2759)
    
    * Change package name for module ams
    
    * fix some unit test error
    
    * Update docs/admin-guides/managing-optimizers.md
    
    Co-authored-by: Qishang Zhong <zh...@gmail.com>
    
    * Update docs/admin-guides/managing-optimizers.md
    
    Co-authored-by: Qishang Zhong <zh...@gmail.com>
    
    ---------
    
    Co-authored-by: Qishang Zhong <zh...@gmail.com>
---
 LICENSE                                            |   6 +-
 .../arctic => org/apache/amoro}/api/Action.java    |   6 +-
 .../apache/amoro}/api/ActivePlugin.java            |   2 +-
 .../apache/amoro}/api/AmoroPlugin.java             |   2 +-
 .../apache/amoro}/api/OptimizerProperties.java     |   2 +-
 .../apache/amoro}/api/ServerTableIdentifier.java   |   3 +-
 .../apache/amoro}/api/StateField.java              |   2 +-
 .../apache/amoro}/api/TableRuntime.java            |  10 +-
 .../apache/amoro}/api/config/ConfigHelpers.java    |   2 +-
 .../apache/amoro}/api/config/ConfigOption.java     |   2 +-
 .../apache/amoro}/api/config/ConfigOptions.java    |   2 +-
 .../apache/amoro}/api/config/Configurations.java   |   2 +-
 .../amoro}/api/config/DataExpirationConfig.java    |   2 +-
 .../apache/amoro}/api/config/OptimizingConfig.java |   2 +-
 .../api/config/StructuredOptionsSplitter.java      |   2 +-
 .../amoro}/api/config/TableConfiguration.java      |   2 +-
 .../apache/amoro}/api/config/TagConfiguration.java |   2 +-
 .../apache/amoro}/api/events/Event.java            |   2 +-
 .../apache/amoro}/api/events/EventListener.java    |   4 +-
 .../apache/amoro}/api/events/EventType.java        |   2 +-
 .../amoro}/api/events/IcebergReportEvent.java      |   2 +-
 .../apache/amoro}/api/events/TableEvent.java       |   2 +-
 .../apache/amoro}/api/metrics/Counter.java         |   2 +-
 .../apache/amoro}/api/metrics/Gauge.java           |   2 +-
 .../apache/amoro}/api/metrics/Metric.java          |   2 +-
 .../apache/amoro}/api/metrics/MetricDefine.java    |   2 +-
 .../apache/amoro}/api/metrics/MetricDefines.java   |   2 +-
 .../apache/amoro}/api/metrics/MetricKey.java       |   2 +-
 .../amoro}/api/metrics/MetricRegisterListener.java |   2 +-
 .../apache/amoro}/api/metrics/MetricReporter.java  |   4 +-
 .../apache/amoro}/api/metrics/MetricSet.java       |   2 +-
 .../apache/amoro}/api/metrics/MetricType.java      |   2 +-
 .../apache/amoro}/api/process/AmoroProcess.java    |   4 +-
 .../apache/amoro}/api/process/OptimizingStage.java |   2 +-
 .../apache/amoro}/api/process/OptimizingState.java |   8 +-
 .../apache/amoro}/api/process/PendingInput.java    |   2 +-
 .../apache/amoro}/api/process/ProcessFactory.java  |   6 +-
 .../apache/amoro}/api/process/ProcessState.java    |   4 +-
 .../apache/amoro}/api/process/ProcessStatus.java   |   2 +-
 .../apache/amoro}/api/process/SimpleFuture.java    |   2 +-
 .../apache/amoro}/api/process/TableProcess.java    |   4 +-
 .../amoro}/api/process/TableProcessState.java      |   8 +-
 .../apache/amoro}/api/resource/Resource.java       |   2 +-
 .../amoro}/api/resource/ResourceContainer.java     |   2 +-
 .../apache/amoro}/api/resource/ResourceGroup.java  |   2 +-
 .../amoro}/api/resource/ResourceManager.java       |   2 +-
 .../apache/amoro}/api/resource/ResourceStatus.java |   2 +-
 .../apache/amoro}/api/resource/ResourceType.java   |   2 +-
 ams/api/src/main/thrift/arctic_commons.thrift      |  80 ----------
 .../main/thrift/arctic_optimizing_service.thrift   |  68 ---------
 .../src/main/thrift/arctic_table_metastore.thrift  | 169 ---------------------
 .../apache/amoro}/api/MockZookeeperServer.java     |   2 +-
 .../amoro}/api/metrics/MetricDefineTest.java       |   2 +-
 .../amoro}/api/metrics/TestMetricDefine.java       |   2 +-
 .../apache/amoro}/api/metrics/TestMetricKey.java   |   2 +-
 ams/dist/src/main/arctic-bin/bin/ams.sh            |   2 +-
 ams/dist/src/main/arctic-bin/bin/optimizer.sh      |   2 +-
 ams/dist/src/main/arctic-bin/conf/config.yaml      |   6 +-
 .../reporter/promethues}/MetricCollector.java      |  16 +-
 .../PrometheusExporterMetricReporter.java          |   6 +-
 .../common/AbstractOptimizerOperator.java          |   2 +-
 .../apache/amoro}/optimizer/common/Optimizer.java  |   4 +-
 .../amoro}/optimizer/common/OptimizerConfig.java   |   4 +-
 .../amoro}/optimizer/common/OptimizerExecutor.java |   2 +-
 .../amoro}/optimizer/common/OptimizerToucher.java  |   4 +-
 .../amoro}/optimizer/common/OptimizerTestBase.java |   2 +-
 .../optimizer/common/OptimizerTestHelpers.java     |   2 +-
 .../amoro}/optimizer/common/TestOptimizer.java     |   2 +-
 .../optimizer/common/TestOptimizerConfig.java      |   2 +-
 .../optimizer/common/TestOptimizerExecutor.java    |   2 +-
 .../optimizer/common/TestOptimizerToucher.java     |   4 +-
 .../amoro}/optimizer/flink/FlinkExecutor.java      |   4 +-
 .../amoro}/optimizer/flink/FlinkOptimizer.java     |   8 +-
 .../optimizer/flink/FlinkOptimizerExecutor.java    |   6 +-
 .../amoro}/optimizer/flink/FlinkToucher.java       |   6 +-
 .../amoro}/optimizer/spark/SparkOptimizer.java     |  10 +-
 .../optimizer/spark/SparkOptimizerExecutor.java    |   6 +-
 .../spark/SparkOptimizingTaskFunction.java         |   6 +-
 .../optimizer/standalone/StandaloneOptimizer.java  |   8 +-
 .../apache/amoro}/server/ArcticManagementConf.java |   6 +-
 .../server/ArcticManagementConfValidator.java      |   8 +-
 .../amoro}/server/ArcticServiceConstants.java      |   2 +-
 .../amoro}/server/ArcticServiceContainer.java      |  42 ++---
 .../amoro}/server/DefaultOptimizingService.java    |  52 +++----
 .../apache/amoro}/server/Environments.java         |   2 +-
 .../amoro}/server/HighAvailabilityContainer.java   |   4 +-
 .../apache/amoro}/server/RestCatalogService.java   |  26 ++--
 .../amoro}/server/TableManagementService.java      |  10 +-
 .../amoro}/server/catalog/CatalogBuilder.java      |   6 +-
 .../amoro}/server/catalog/CatalogService.java      |   2 +-
 .../apache/amoro}/server/catalog/CatalogType.java  |   2 +-
 .../amoro}/server/catalog/ExternalCatalog.java     |   6 +-
 .../amoro}/server/catalog/InternalCatalog.java     |  22 +--
 .../server/catalog/InternalIcebergCatalogImpl.java |  22 +--
 .../server/catalog/InternalMixedCatalogImpl.java   |  20 +--
 .../server/catalog/MixedHiveCatalogImpl.java       |  10 +-
 .../amoro}/server/catalog/ServerCatalog.java       |   8 +-
 .../amoro}/server/dashboard/APITokenManager.java   |   8 +-
 .../amoro}/server/dashboard/DashboardServer.java   |  38 ++---
 .../server/dashboard/FormatTableDescriptor.java    |  20 +--
 .../dashboard/MixedAndIcebergTableDescriptor.java  |  68 ++++-----
 .../server/dashboard/PaimonTableDescriptor.java    |  36 ++---
 .../server/dashboard/PlatformFileManager.java      |   8 +-
 .../server/dashboard/ServerTableDescriptor.java    |  28 ++--
 .../server/dashboard/ServerTableProperties.java    |   2 +-
 .../dashboard/component/reverser/DDLReverser.java  |   4 +-
 .../reverser/IcebergTableMetaExtract.java          |   2 +-
 .../component/reverser/IcebergTypeToSparkType.java |   2 +-
 .../component/reverser/MetadataChangeHandler.java  |   2 +-
 .../component/reverser/PaimonTableMetaExtract.java |   2 +-
 .../component/reverser/PaimonTypeToSparkType.java  |   2 +-
 .../reverser/SparkMetadataChangeHandler.java       |   2 +-
 .../component/reverser/TableMetaExtract.java       |   2 +-
 .../dashboard/controller/CatalogController.java    |  24 +--
 .../controller/HealthCheckController.java          |   4 +-
 .../dashboard/controller/LoginController.java      |   8 +-
 .../dashboard/controller/OptimizerController.java  |  34 ++---
 .../controller/PlatformFileInfoController.java     |   8 +-
 .../dashboard/controller/SettingController.java    |  16 +-
 .../dashboard/controller/TableController.java      |  56 +++----
 .../dashboard/controller/TerminalController.java   |  14 +-
 .../dashboard/controller/VersionController.java    |   6 +-
 .../server/dashboard/model/AMSColumnInfo.java      |   2 +-
 .../server/dashboard/model/AMSPartitionField.java  |   2 +-
 .../dashboard/model/AmoroSnapshotsOfTable.java     |   4 +-
 .../amoro}/server/dashboard/model/ApiTokens.java   |   2 +-
 .../dashboard/model/CatalogRegisterInfo.java       |   2 +-
 .../server/dashboard/model/CatalogSettingInfo.java |   2 +-
 .../amoro}/server/dashboard/model/DDLInfo.java     |   2 +-
 .../server/dashboard/model/FilesStatistics.java    |   2 +-
 .../server/dashboard/model/HiveTableInfo.java      |   2 +-
 .../dashboard/model/KafkaClusterSimpleInfo.java    |   4 +-
 .../server/dashboard/model/LatestSessionInfo.java  |   2 +-
 .../amoro}/server/dashboard/model/LogInfo.java     |   2 +-
 .../server/dashboard/model/OperationType.java      |   2 +-
 .../dashboard/model/OptimizerInstanceInfo.java     |   2 +-
 .../dashboard/model/OptimizerResourceInfo.java     |   4 +-
 .../dashboard/model/OptimizingProcessInfo.java     |  12 +-
 .../server/dashboard/model/OptimizingTaskInfo.java |  11 +-
 .../server/dashboard/model/PartitionBaseInfo.java  |   4 +-
 .../dashboard/model/PartitionFileBaseInfo.java     |   4 +-
 .../server/dashboard/model/PlatformFileInfo.java   |   2 +-
 .../server/dashboard/model/ServerTableMeta.java    |   2 +-
 .../amoro}/server/dashboard/model/SessionInfo.java |   2 +-
 .../server/dashboard/model/SnapshotInfo.java       |   2 +-
 .../amoro}/server/dashboard/model/SqlExample.java  |   2 +-
 .../amoro}/server/dashboard/model/SqlResult.java   |   2 +-
 .../amoro}/server/dashboard/model/SqlStatus.java   |   2 +-
 .../server/dashboard/model/TableBasicInfo.java     |   2 +-
 .../amoro}/server/dashboard/model/TableMeta.java   |   2 +-
 .../server/dashboard/model/TableOperation.java     |   2 +-
 .../dashboard/model/TableOptimizingInfo.java       |   6 +-
 .../server/dashboard/model/TableStatistics.java    |   2 +-
 .../server/dashboard/model/TagOrBranchInfo.java    |   2 +-
 .../server/dashboard/model/UpgradeHiveMeta.java    |   2 +-
 .../server/dashboard/model/UpgradeRunningInfo.java |   2 +-
 .../server/dashboard/model/UpgradeStatus.java      |   2 +-
 .../amoro}/server/dashboard/model/VersionInfo.java |   2 +-
 .../server/dashboard/response/ErrorResponse.java   |   2 +-
 .../server/dashboard/response/OkResponse.java      |   2 +-
 .../server/dashboard/response/PageResult.java      |   2 +-
 .../amoro}/server/dashboard/response/Response.java |   2 +-
 .../amoro}/server/dashboard/utils/AmsUtil.java     |   6 +-
 .../amoro}/server/dashboard/utils/CommonUtil.java  |   4 +-
 .../dashboard/utils/DesensitizationUtil.java       |   2 +-
 .../dashboard/utils/FilesStatisticsBuilder.java    |   4 +-
 .../server/dashboard/utils/OptimizingUtil.java     |  16 +-
 .../dashboard/utils/ParamSignatureCalculator.java  |   2 +-
 .../server/dashboard/utils/PropertiesUtil.java     |   2 +-
 .../server/dashboard/utils/TableStatCollector.java |   8 +-
 .../amoro}/server/events/LoggingEventListener.java |   6 +-
 .../server/exception/AlreadyExistsException.java   |   2 +-
 .../server/exception/ArcticRuntimeException.java   |   4 +-
 .../server/exception/BlockerConflictException.java |   2 +-
 .../server/exception/ForbiddenException.java       |   2 +-
 .../server/exception/IllegalMetadataException.java |   2 +-
 .../exception/IllegalTaskStateException.java       |   4 +-
 .../server/exception/LoadingPluginException.java   |   2 +-
 .../server/exception/ObjectNotExistsException.java |   4 +-
 .../exception/OptimizingClosedException.java       |   2 +-
 .../exception/OptimizingCommitException.java       |   2 +-
 .../server/exception/PersistenceException.java     |   2 +-
 .../server/exception/PluginAuthException.java      |   2 +-
 .../server/exception/PluginRetryAuthException.java |   2 +-
 .../server/exception/SignatureCheckException.java  |   2 +-
 .../server/exception/TaskNotFoundException.java    |   2 +-
 .../server/exception/TaskRuntimeException.java     |   2 +-
 .../server/exception/UndefinedException.java       |   2 +-
 .../server/manager/AbstractPluginManager.java      |  10 +-
 .../server/manager/AbstractResourceContainer.java  |  10 +-
 .../amoro}/server/manager/ClassLoaderContext.java  |   2 +-
 .../amoro}/server/manager/EventsManager.java       |   6 +-
 .../apache/amoro}/server/manager/ExecUtil.java     |   2 +-
 .../server/manager/FlinkOptimizerContainer.java    |  10 +-
 .../server/manager/LocalOptimizerContainer.java    |   4 +-
 .../amoro}/server/manager/MetricManager.java       |   8 +-
 .../amoro}/server/manager/PluginConfiguration.java |   2 +-
 .../amoro}/server/manager/PluginManager.java       |   4 +-
 .../server/manager/SparkOptimizerContainer.java    |   8 +-
 .../amoro}/server/metrics/MetricRegistry.java      |  12 +-
 .../amoro}/server/optimizing/KeyedTableCommit.java |   9 +-
 .../amoro}/server/optimizing/MetricsSummary.java   |   8 +-
 .../server/optimizing/OptimizerGroupMetrics.java   |  30 ++--
 .../server/optimizing/OptimizingProcess.java       |   2 +-
 .../server/optimizing/OptimizingProcessMeta.java   |   2 +-
 .../amoro}/server/optimizing/OptimizingQueue.java  |  34 ++---
 .../amoro}/server/optimizing/OptimizingStatus.java |   2 +-
 .../server/optimizing/OptimizingTaskMeta.java      |   2 +-
 .../amoro}/server/optimizing/OptimizingType.java   |   2 +-
 .../amoro}/server/optimizing/SchedulingPolicy.java |   8 +-
 .../amoro}/server/optimizing/TaskRuntime.java      |  24 +--
 .../server/optimizing/UnKeyedTableCommit.java      |  13 +-
 .../maintainer/AutoCreateIcebergTagAction.java     |   4 +-
 .../maintainer/IcebergTableMaintainer.java         |  12 +-
 .../maintainer/MixedTableMaintainer.java           |  10 +-
 .../optimizing/maintainer/TableMaintainer.java     |   4 +-
 .../optimizing/plan/AbstractPartitionPlan.java     |   8 +-
 .../optimizing/plan/CommonPartitionEvaluator.java  |   8 +-
 .../optimizing/plan/IcebergPartitionPlan.java      |   4 +-
 .../optimizing/plan/MixedHivePartitionPlan.java    |   4 +-
 .../optimizing/plan/MixedIcebergPartitionPlan.java |   4 +-
 .../optimizing/plan/OptimizingEvaluator.java       |  18 +--
 .../server/optimizing/plan/OptimizingPlanner.java  |  10 +-
 .../server/optimizing/plan/PartitionEvaluator.java |   4 +-
 .../server/optimizing/plan/TaskDescriptor.java     |   2 +-
 .../scan/IcebergTableFileScanHelper.java           |   4 +-
 .../optimizing/scan/KeyedTableFileScanHelper.java  |   6 +-
 .../optimizing/scan/TableFileScanHelper.java       |   2 +-
 .../scan/UnkeyedTableFileScanHelper.java           |   2 +-
 .../server/persistence/NestedSqlSession.java       |   2 +-
 .../amoro}/server/persistence/PersistentBase.java  |   6 +-
 .../persistence/SqlSessionFactoryProvider.java     |  22 +--
 .../server/persistence/StatedPersistentBase.java   |   4 +-
 .../server/persistence/TaskFilesPersistence.java   |   8 +-
 .../persistence/converter/JsonObjectConverter.java |   2 +-
 .../converter/List2StringConverter.java            |   2 +-
 .../persistence/converter/Long2TsConverter.java    |   2 +-
 .../persistence/converter/Map2StringConverter.java |   2 +-
 .../converter/MapLong2StringConverter.java         |   2 +-
 .../converter/Object2ByteArrayConvert.java         |   8 +-
 .../server/persistence/mapper/ApiTokensMapper.java |   4 +-
 .../persistence/mapper/CatalogMetaMapper.java      |  16 +-
 .../server/persistence/mapper/OptimizerMapper.java |  14 +-
 .../persistence/mapper/OptimizingMapper.java       |  64 ++++----
 .../persistence/mapper/PlatformFileMapper.java     |   4 +-
 .../server/persistence/mapper/ResourceMapper.java  |  18 +--
 .../persistence/mapper/TableBlockerMapper.java     |  28 ++--
 .../server/persistence/mapper/TableMetaMapper.java |  46 +++---
 .../amoro}/server/resource/ContainerMetadata.java  |   2 +-
 .../amoro}/server/resource/OptimizerInstance.java  |   4 +-
 .../amoro}/server/resource/OptimizerManager.java   |   4 +-
 .../amoro}/server/resource/OptimizerThread.java    |   2 +-
 .../amoro}/server/resource/QuotaProvider.java      |   2 +-
 .../amoro}/server/resource/ResourceContainers.java |   4 +-
 .../amoro}/server/table/BasicTableSnapshot.java    |   2 +-
 .../amoro}/server/table/DefaultTableService.java   |  36 ++---
 .../amoro}/server/table/KeyedTableSnapshot.java    |   2 +-
 .../amoro}/server/table/RuntimeHandlerChain.java   |   6 +-
 .../apache/amoro}/server/table/TableManager.java   |   4 +-
 .../apache/amoro}/server/table/TableMetadata.java  |   6 +-
 .../apache/amoro}/server/table/TableMetrics.java   |  18 +--
 .../apache/amoro}/server/table/TableRuntime.java   |  40 ++---
 .../amoro}/server/table/TableRuntimeHandler.java   |   6 +-
 .../amoro}/server/table/TableRuntimeMeta.java      |  12 +-
 .../apache/amoro}/server/table/TableService.java   |   6 +-
 .../apache/amoro}/server/table/TableSnapshot.java  |   2 +-
 .../amoro}/server/table/blocker/TableBlocker.java  |   4 +-
 .../server/table/executor/AsyncTableExecutors.java |   8 +-
 .../server/table/executor/BaseTableExecutor.java   |  16 +-
 .../table/executor/BlockerExpiringExecutor.java    |  10 +-
 .../DanglingDeleteFilesCleaningExecutor.java       |  14 +-
 .../table/executor/DataExpiringExecutor.java       |  10 +-
 .../table/executor/HiveCommitSyncExecutor.java     |   8 +-
 .../table/executor/OptimizingCommitExecutor.java   |   8 +-
 .../table/executor/OptimizingExpiringExecutor.java |  10 +-
 .../executor/OrphanFilesCleaningExecutor.java      |  14 +-
 .../table/executor/SnapshotsExpiringExecutor.java  |  10 +-
 .../executor/TableRuntimeRefreshExecutor.java      |  12 +-
 .../table/executor/TagsAutoCreatingExecutor.java   |  14 +-
 .../internal/IcebergInternalTableOperations.java   |  40 +++--
 .../table/internal/InternalIcebergCreator.java     |  17 +--
 .../table/internal/InternalIcebergHandler.java     |   6 +-
 .../internal/InternalMixedIcebergCreator.java      |  26 ++--
 .../internal/InternalMixedIcebergHandler.java      |  11 +-
 .../table/internal/InternalTableConstants.java     |   2 +-
 .../table/internal/InternalTableCreator.java       |   8 +-
 .../table/internal/InternalTableHandler.java       |   4 +-
 .../MixedIcebergInternalTableStoreOperations.java  |  12 +-
 .../amoro}/server/terminal/ExecutionResult.java    |   2 +-
 .../amoro}/server/terminal/ExecutionStatus.java    |   2 +-
 .../amoro}/server/terminal/JDBCResultSet.java      |   2 +-
 .../amoro}/server/terminal/SimpleResultSet.java    |   2 +-
 .../amoro}/server/terminal/SparkContextUtil.java   |   6 +-
 .../amoro}/server/terminal/StatementResult.java    |   2 +-
 .../amoro}/server/terminal/TerminalManager.java    |  38 ++---
 .../amoro}/server/terminal/TerminalSession.java    |   4 +-
 .../server/terminal/TerminalSessionContext.java    |   4 +-
 .../server/terminal/TerminalSessionFactory.java    |   8 +-
 .../server/terminal/kyuubi/KyuubiSession.java      |   6 +-
 .../kyuubi/KyuubiTerminalSessionFactory.java       |  16 +-
 .../server/terminal/local/LocalSessionFactory.java |  16 +-
 .../terminal/local/LocalTerminalSession.java       |   6 +-
 .../apache/amoro}/server/utils/CompressUtil.java   |   2 +-
 .../amoro}/server/utils/FlinkClientUtil.java       |   2 +-
 .../amoro}/server/utils/HiveLocationUtil.java      |   2 +-
 .../amoro}/server/utils/IcebergTableUtil.java      |  12 +-
 .../amoro}/server/utils/InternalTableUtil.java     |  16 +-
 .../amoro}/server/utils/PreconditionUtils.java     |   6 +-
 .../server/utils/StructuredOptionsSplitter.java    |   2 +-
 .../amoro}/server/utils/ThriftServiceProxy.java    |   4 +-
 ...r => org.apache.amoro.api.events.EventListener} |   2 +-
 ...rg.apache.amoro.api.resource.ResourceContainer} |   6 +-
 .../apache/amoro}/server/AmsEnvironment.java       |  16 +-
 .../amoro}/server/RestCatalogServiceTestBase.java  |  12 +-
 .../server/TestArcticManagementConfValidator.java  |   4 +-
 .../server/TestDefaultOptimizingService.java       |  22 +--
 .../server/TestInternalIcebergCatalogService.java  |   2 +-
 .../server/TestInternalMixedCatalogService.java    |   2 +-
 .../server/catalog/TableCatalogTestBase.java       |   4 +-
 .../amoro}/server/catalog/TestServerCatalog.java   |   2 +-
 .../TestIcebergServerTableDescriptor.java          |   2 +-
 .../dashboard/TestPaimonServerTableDescriptor.java |   2 +-
 .../dashboard/TestServerTableDescriptor.java       |   8 +-
 .../utils/TestParamSignatureCalculator.java        |   2 +-
 .../server/dashboard/utils/TestPropertiesUtil.java |   2 +-
 .../server/manager/TestAbstractPluginManager.java  |   8 +-
 .../manager/TestFlinkOptimizerContainer.java       |   4 +-
 .../manager/TestSparkOptimizerContainer.java       |   4 +-
 .../server/metrics/MockedMetricReporter.java       |   6 +-
 .../amoro}/server/metrics/TestMetricRegistry.java  |  14 +-
 .../server/optimizing/AbstractOptimizingTest.java  |   4 +-
 .../server/optimizing/BaseOptimizingChecker.java   |   6 +-
 .../server/optimizing/OptimizingTestHelpers.java   |  10 +-
 .../optimizing/TestIcebergHadoopOptimizing.java    |  10 +-
 .../server/optimizing/TestMixedHiveOptimizing.java |   2 +-
 .../optimizing/TestMixedIcebergOptimizing.java     |   2 +-
 .../optimizing/TestOptimizingIntegration.java      |   4 +-
 .../server/optimizing/TestOptimizingQueue.java     |  46 +++---
 .../optimizing/commit/TestMixIcebergCommit.java    |   8 +-
 .../optimizing/commit/TestUnKeyedTableCommit.java  |   8 +-
 .../optimizing/flow/CompleteOptimizingFlow.java    |  26 ++--
 .../amoro}/server/optimizing/flow/DataReader.java  |   2 +-
 .../optimizing/flow/RandomRecordGenerator.java     |   2 +-
 .../flow/TestKeyedContinuousOptimizing.java        |  14 +-
 .../flow/TestUnKeyedContinuousOptimizing.java      |  14 +-
 .../flow/checker/AbstractHiveChecker.java          |  12 +-
 .../flow/checker/AbstractSceneCountChecker.java    |  10 +-
 .../flow/checker/DataConcurrencyChecker.java       |  16 +-
 .../checker/FullOptimizingMove2HiveChecker.java    |  12 +-
 .../checker/FullOptimizingWrite2HiveChecker.java   |  12 +-
 .../flow/checker/MajorOptimizingChecker.java       |  10 +-
 .../flow/checker/MinorOptimizingCheck.java         |  10 +-
 .../flow/checker/OptimizingCountChecker.java       |   8 +-
 .../flow/view/AbstractTableDataView.java           |   2 +-
 .../optimizing/flow/view/KeyedTableDataView.java   |   6 +-
 .../server/optimizing/flow/view/MatchResult.java   |   2 +-
 .../server/optimizing/flow/view/TableDataView.java |   2 +-
 .../optimizing/flow/view/UnKeyedTableDataView.java |   4 +-
 .../maintainer/TestAutoCreateIcebergTagAction.java |   4 +-
 .../optimizing/maintainer/TestDataExpire.java      |  18 +--
 .../optimizing/maintainer/TestDataExpireHive.java  |   2 +-
 .../maintainer/TestDataExpireIceberg.java          |   2 +-
 .../optimizing/maintainer/TestOrphanFileClean.java |  16 +-
 .../maintainer/TestOrphanFileCleanHive.java        |   4 +-
 .../maintainer/TestOrphanFileCleanIceberg.java     |   2 +-
 .../optimizing/maintainer/TestSnapshotExpire.java  |  18 +--
 .../maintainer/TestSnapshotExpireHive.java         |   2 +-
 .../maintainer/TestSnapshotExpireIceberg.java      |   2 +-
 .../optimizing/plan/MixedTablePlanTestBase.java    |  18 +--
 .../plan/TestHiveKeyedPartitionPlan.java           |   4 +-
 .../plan/TestHiveOptimizingEvaluator.java          |   2 +-
 .../plan/TestHiveUnkeyedPartitionPlan.java         |   4 +-
 .../optimizing/plan/TestIcebergPartitionPlan.java  |   8 +-
 .../optimizing/plan/TestKeyedPartitionPlan.java    |   8 +-
 .../optimizing/plan/TestOptimizingEvaluator.java   |  10 +-
 .../optimizing/plan/TestOptimizingPlanner.java     |   8 +-
 .../optimizing/plan/TestUnkeyedPartitionPlan.java  |   8 +-
 .../scan/TableFileScanHelperTestBase.java          |   2 +-
 .../scan/TestHiveKeyedTableFileScanHelper.java     |   2 +-
 .../scan/TestHiveUnkeyedTableFileScanHelper.java   |   2 +-
 .../scan/TestIcebergTableFileScanHelper.java       |   4 +-
 .../scan/TestKeyedTableFileScanHelper.java         |   8 +-
 .../scan/TestUnkeyedTableFileScanHelper.java       |   6 +-
 .../server/persistence/TestNestedSqlSession.java   |   2 +-
 .../server/persistence/TestPersistentBase.java     |   4 +-
 .../persistence/TestStatedPersistentBase.java      |   4 +-
 .../server/persistence/mapper/MySQLTestBase.java   |   2 +-
 .../amoro}/server/table/AMSTableTestBase.java      |   4 +-
 .../amoro}/server/table/DerbyPersistence.java      |   8 +-
 .../amoro}/server/table/TableServiceTestBase.java  |  14 +-
 .../amoro}/server/table/TestCatalogService.java    |   8 +-
 .../amoro}/server/table/TestDatabaseService.java   |   8 +-
 .../server/table/TestTableRuntimeHandler.java      |  14 +-
 .../server/table/TestTableRuntimeManager.java      |   6 +-
 .../amoro}/server/table/TestTableService.java      |  10 +-
 .../server/table/executor/ExecutorTestBase.java    |   2 +-
 .../executor/TestBlockerExpiringExecutor.java      |  16 +-
 .../amoro}/server/util/TestCompressUtil.java       |   4 +-
 .../amoro}/server/util/TestConfigurationUtil.java  |  16 +-
 ...=> org.apache.amoro.api.metrics.MetricReporter} |   2 +-
 ...r.manager.TestAbstractPluginManager$TestPlugin} |   4 +-
 charts/amoro/templates/_optimizer.tpl              |   6 +-
 core/pom.xml                                       |   4 +-
 docs/admin-guides/deployment.md                    |   4 +-
 docs/admin-guides/managing-optimizers.md           |  20 +--
 tools/maven/suppressions.xml                       |  22 +--
 406 files changed, 1500 insertions(+), 1821 deletions(-)

diff --git a/LICENSE b/LICENSE
index 8be977724..3953d1482 100644
--- a/LICENSE
+++ b/LICENSE
@@ -226,8 +226,8 @@ This product includes code from Apache Iceberg.
 * org.apache.iceberg.spark.data.ParquetWithSparkSchemaVisitor copied and modified to org.apache.iceberg.spark.data.AdaptHiveParquetWithSparkSchemaVisitor
 * org.apache.iceberg.flink.data.ParquetWithFlinkSchemaVisitor copied and modified to org.apache.iceberg.flink.data.AdaptHiveParquetWithFlinkSchemaVisitor
 * org.apache.iceberg.parquet.ParquetUtil copied and modified to org.apache.iceberg.parquet.AdaptHiveParquetUtil
-* org.apache.paimon.spark.SparkTypeUtils copied and modified to com.netease.arctic.server.dashboard.component.reverser.PaimonTypeToSparkType
-* org.apache.iceberg.spark.TypeToSparkType copied and modified to com.netease.arctic.server.dashboard.component.reverser.IcebergTypeToSparkType
+* org.apache.paimon.spark.SparkTypeUtils copied and modified to org.apache.amoro.server.dashboard.component.reverser.PaimonTypeToSparkType
+* org.apache.iceberg.spark.TypeToSparkType copied and modified to org.apache.amoro.server.dashboard.component.reverser.IcebergTypeToSparkType
 
 
 
@@ -239,7 +239,7 @@ License: http://www.apache.org/licenses/LICENSE-2.0
 
 This product includes code from Apache Paimon (incubating).
 
-* org.apache.paimon.spark.SparkTypeUtils copied and modified to com.netease.arctic.server.dashboard.component.reverser.PaimonTypeToSparkType
+* org.apache.paimon.spark.SparkTypeUtils copied and modified to org.apache.amoro.server.dashboard.component.reverser.PaimonTypeToSparkType
 
 Copyright: 2011-2019 The Apache Software Foundation
 Home page: http://paimon.apache.org/
diff --git a/ams/api/src/main/java/com/netease/arctic/api/Action.java b/ams/api/src/main/java/org/apache/amoro/api/Action.java
similarity index 95%
rename from ams/api/src/main/java/com/netease/arctic/api/Action.java
rename to ams/api/src/main/java/org/apache/amoro/api/Action.java
index c50c150d0..ce1f9ab9d 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/Action.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/Action.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
-import com.netease.arctic.api.process.TableProcess;
-import com.netease.arctic.api.process.TableProcessState;
+import org.apache.amoro.api.process.TableProcess;
+import org.apache.amoro.api.process.TableProcessState;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 
 import java.util.Collections;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/ActivePlugin.java b/ams/api/src/main/java/org/apache/amoro/api/ActivePlugin.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/ActivePlugin.java
rename to ams/api/src/main/java/org/apache/amoro/api/ActivePlugin.java
index 923462f1a..30af85787 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/ActivePlugin.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/ActivePlugin.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
 import java.util.Map;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/AmoroPlugin.java b/ams/api/src/main/java/org/apache/amoro/api/AmoroPlugin.java
similarity index 96%
rename from ams/api/src/main/java/com/netease/arctic/api/AmoroPlugin.java
rename to ams/api/src/main/java/org/apache/amoro/api/AmoroPlugin.java
index bbfd3bc36..9707350e8 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/AmoroPlugin.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/AmoroPlugin.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
 /**
  * Plugin interface for all pluggable services including MetricEmitter, TableProcessFactory, etc.
diff --git a/ams/api/src/main/java/com/netease/arctic/api/OptimizerProperties.java b/ams/api/src/main/java/org/apache/amoro/api/OptimizerProperties.java
similarity index 98%
rename from ams/api/src/main/java/com/netease/arctic/api/OptimizerProperties.java
rename to ams/api/src/main/java/org/apache/amoro/api/OptimizerProperties.java
index df459f5ae..e454eb8de 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/OptimizerProperties.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/OptimizerProperties.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
 public class OptimizerProperties {
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/ServerTableIdentifier.java b/ams/api/src/main/java/org/apache/amoro/api/ServerTableIdentifier.java
similarity index 98%
rename from ams/api/src/main/java/com/netease/arctic/api/ServerTableIdentifier.java
rename to ams/api/src/main/java/org/apache/amoro/api/ServerTableIdentifier.java
index f7a94e08e..b9f2c5f13 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/ServerTableIdentifier.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/ServerTableIdentifier.java
@@ -16,9 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
 import com.netease.arctic.TableFormat;
+import com.netease.arctic.api.TableIdentifier;
 
 import java.util.Objects;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/StateField.java b/ams/api/src/main/java/org/apache/amoro/api/StateField.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/StateField.java
rename to ams/api/src/main/java/org/apache/amoro/api/StateField.java
index 147c93dee..2bd853729 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/StateField.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/StateField.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/TableRuntime.java b/ams/api/src/main/java/org/apache/amoro/api/TableRuntime.java
similarity index 89%
rename from ams/api/src/main/java/com/netease/arctic/api/TableRuntime.java
rename to ams/api/src/main/java/org/apache/amoro/api/TableRuntime.java
index e9410944b..ffb1bdf93 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/TableRuntime.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/TableRuntime.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.api.process.OptimizingState;
-import com.netease.arctic.api.process.ProcessFactory;
-import com.netease.arctic.api.process.TableProcessState;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.api.process.OptimizingState;
+import org.apache.amoro.api.process.ProcessFactory;
+import org.apache.amoro.api.process.TableProcessState;
 
 import java.util.List;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigHelpers.java b/ams/api/src/main/java/org/apache/amoro/api/config/ConfigHelpers.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/ConfigHelpers.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/ConfigHelpers.java
index 693c55084..31b4b1582 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigHelpers.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/ConfigHelpers.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
 import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOption.java b/ams/api/src/main/java/org/apache/amoro/api/config/ConfigOption.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/ConfigOption.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/ConfigOption.java
index 7e406f4b5..95d07d58d 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOption.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/ConfigOption.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOptions.java b/ams/api/src/main/java/org/apache/amoro/api/config/ConfigOptions.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/ConfigOptions.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/ConfigOptions.java
index 554ec7212..09292bc17 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOptions.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/ConfigOptions.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/Configurations.java b/ams/api/src/main/java/org/apache/amoro/api/config/Configurations.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/Configurations.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/Configurations.java
index 7fc3e676f..df4bf14d7 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/Configurations.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/Configurations.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/DataExpirationConfig.java b/ams/api/src/main/java/org/apache/amoro/api/config/DataExpirationConfig.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/DataExpirationConfig.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/DataExpirationConfig.java
index 24f8d916f..ee895150e 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/DataExpirationConfig.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/DataExpirationConfig.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/OptimizingConfig.java b/ams/api/src/main/java/org/apache/amoro/api/config/OptimizingConfig.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/OptimizingConfig.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/OptimizingConfig.java
index 98fb59f94..1d70f2707 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/OptimizingConfig.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/OptimizingConfig.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.netease.arctic.properties.HiveTableProperties;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/StructuredOptionsSplitter.java b/ams/api/src/main/java/org/apache/amoro/api/config/StructuredOptionsSplitter.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/StructuredOptionsSplitter.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/StructuredOptionsSplitter.java
index e8eb0414b..4869c614f 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/StructuredOptionsSplitter.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/StructuredOptionsSplitter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/TableConfiguration.java b/ams/api/src/main/java/org/apache/amoro/api/config/TableConfiguration.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/TableConfiguration.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/TableConfiguration.java
index 1f6fcc7df..89a71b6a0 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/TableConfiguration.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/TableConfiguration.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.netease.arctic.table.TableProperties;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/TagConfiguration.java b/ams/api/src/main/java/org/apache/amoro/api/config/TagConfiguration.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/config/TagConfiguration.java
rename to ams/api/src/main/java/org/apache/amoro/api/config/TagConfiguration.java
index acff7fd80..5bf6730ec 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/TagConfiguration.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/config/TagConfiguration.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.config;
+package org.apache.amoro.api.config;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.netease.arctic.table.TableProperties;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/events/Event.java b/ams/api/src/main/java/org/apache/amoro/api/events/Event.java
similarity index 96%
rename from ams/api/src/main/java/com/netease/arctic/api/events/Event.java
rename to ams/api/src/main/java/org/apache/amoro/api/events/Event.java
index 97864896e..692f39902 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/events/Event.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/events/Event.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.events;
+package org.apache.amoro.api.events;
 
 /**
  * Standard event interface in Amoro domain this is a parallel concept with specific metrics data of
diff --git a/ams/api/src/main/java/com/netease/arctic/api/events/EventListener.java b/ams/api/src/main/java/org/apache/amoro/api/events/EventListener.java
similarity index 93%
rename from ams/api/src/main/java/com/netease/arctic/api/events/EventListener.java
rename to ams/api/src/main/java/org/apache/amoro/api/events/EventListener.java
index 2ae4d4ed3..499d173e5 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/events/EventListener.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/events/EventListener.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.events;
+package org.apache.amoro.api.events;
 
-import com.netease.arctic.api.ActivePlugin;
+import org.apache.amoro.api.ActivePlugin;
 
 /**
  * This is an interface defining a reporter, which users can implement to notify event to a
diff --git a/ams/api/src/main/java/com/netease/arctic/api/events/EventType.java b/ams/api/src/main/java/org/apache/amoro/api/events/EventType.java
similarity index 95%
rename from ams/api/src/main/java/com/netease/arctic/api/events/EventType.java
rename to ams/api/src/main/java/org/apache/amoro/api/events/EventType.java
index 49fa74b01..dda209407 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/events/EventType.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/events/EventType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.events;
+package org.apache.amoro.api.events;
 
 /** Event types define */
 public enum EventType {
diff --git a/ams/api/src/main/java/com/netease/arctic/api/events/IcebergReportEvent.java b/ams/api/src/main/java/org/apache/amoro/api/events/IcebergReportEvent.java
similarity index 98%
rename from ams/api/src/main/java/com/netease/arctic/api/events/IcebergReportEvent.java
rename to ams/api/src/main/java/org/apache/amoro/api/events/IcebergReportEvent.java
index bf5764d62..0420da9f8 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/events/IcebergReportEvent.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/events/IcebergReportEvent.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.events;
+package org.apache.amoro.api.events;
 
 import org.apache.iceberg.metrics.MetricsReport;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/events/TableEvent.java b/ams/api/src/main/java/org/apache/amoro/api/events/TableEvent.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/events/TableEvent.java
rename to ams/api/src/main/java/org/apache/amoro/api/events/TableEvent.java
index ffb3deaaf..aaf64d9c1 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/events/TableEvent.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/events/TableEvent.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.events;
+package org.apache.amoro.api.events;
 
 /** An event associated with a table */
 public interface TableEvent extends Event {
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/Counter.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/Counter.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/Counter.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/Counter.java
index 093f25173..ef703f811 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/Counter.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/Counter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 import java.util.concurrent.atomic.LongAdder;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/Gauge.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/Gauge.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/Gauge.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/Gauge.java
index 459b18b77..2c0c48e9d 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/Gauge.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/Gauge.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 /**
  * A gauge metric is an instantaneous reading of a particular value. To instrument a queue's depth,
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/Metric.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/Metric.java
similarity index 95%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/Metric.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/Metric.java
index 29c757bfc..df98fc32d 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/Metric.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/Metric.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 /** Base interface for all amoro metric */
 public interface Metric {}
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefine.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricDefine.java
similarity index 98%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefine.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/MetricDefine.java
index 5d5d60fde..e3538f2b6 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefine.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricDefine.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 import org.apache.iceberg.relocated.com.google.common.base.Joiner;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefines.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricDefines.java
similarity index 95%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefines.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/MetricDefines.java
index 4d589e77c..84bc92dd9 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefines.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricDefines.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 /** All metric defines. */
 public class MetricDefines {}
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricKey.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricKey.java
similarity index 98%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/MetricKey.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/MetricKey.java
index c20bb5f22..fa1289b03 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricKey.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricKey.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 import org.apache.iceberg.relocated.com.google.common.base.Joiner;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricRegisterListener.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricRegisterListener.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/MetricRegisterListener.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/MetricRegisterListener.java
index f5b7abcd2..3d5e4cf30 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricRegisterListener.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricRegisterListener.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 /** A listener interface to respond to events related to metric registration. */
 public interface MetricRegisterListener {
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricReporter.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricReporter.java
similarity index 94%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/MetricReporter.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/MetricReporter.java
index 7f5448c54..ffc873c5c 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricReporter.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricReporter.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
-import com.netease.arctic.api.ActivePlugin;
+import org.apache.amoro.api.ActivePlugin;
 
 /**
  * This interface define a collector, which users can fetch metrics and report to metrics monitor
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricSet.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricSet.java
similarity index 96%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/MetricSet.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/MetricSet.java
index d0cc0bf4d..4ebf140f0 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricSet.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricSet.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 import java.util.Map;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricType.java b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricType.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/metrics/MetricType.java
rename to ams/api/src/main/java/org/apache/amoro/api/metrics/MetricType.java
index bd2ed3966..383402672 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricType.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/metrics/MetricType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 /** Metric type defines. */
 public enum MetricType {
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/AmoroProcess.java b/ams/api/src/main/java/org/apache/amoro/api/process/AmoroProcess.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/process/AmoroProcess.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/AmoroProcess.java
index 31c653d01..968015209 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/AmoroProcess.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/AmoroProcess.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
-import com.netease.arctic.api.Action;
+import org.apache.amoro.api.Action;
 
 import java.util.Map;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/OptimizingStage.java b/ams/api/src/main/java/org/apache/amoro/api/process/OptimizingStage.java
similarity index 98%
rename from ams/api/src/main/java/com/netease/arctic/api/process/OptimizingStage.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/OptimizingStage.java
index 115aa653a..ea340c280 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/OptimizingStage.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/OptimizingStage.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
 /** The stage of the optimizing process. */
 public enum OptimizingStage {
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/OptimizingState.java b/ams/api/src/main/java/org/apache/amoro/api/process/OptimizingState.java
similarity index 92%
rename from ams/api/src/main/java/com/netease/arctic/api/process/OptimizingState.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/OptimizingState.java
index e6b7307d6..abdfdf3d8 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/OptimizingState.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/OptimizingState.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
-import com.netease.arctic.api.Action;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.StateField;
+import org.apache.amoro.api.Action;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.StateField;
 
 /** The state of the optimizing process. */
 public abstract class OptimizingState extends TableProcessState {
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/PendingInput.java b/ams/api/src/main/java/org/apache/amoro/api/process/PendingInput.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/process/PendingInput.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/PendingInput.java
index c596485fc..7d4f50c3f 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/PendingInput.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/PendingInput.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/ProcessFactory.java b/ams/api/src/main/java/org/apache/amoro/api/process/ProcessFactory.java
similarity index 93%
rename from ams/api/src/main/java/com/netease/arctic/api/process/ProcessFactory.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/ProcessFactory.java
index 83628f3e3..9f0aece97 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/ProcessFactory.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/ProcessFactory.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
-import com.netease.arctic.api.Action;
-import com.netease.arctic.api.TableRuntime;
+import org.apache.amoro.api.Action;
+import org.apache.amoro.api.TableRuntime;
 
 /**
  * A factory to create a process. Normally, There will be default ProcessFactories for each action
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/ProcessState.java b/ams/api/src/main/java/org/apache/amoro/api/process/ProcessState.java
similarity index 96%
rename from ams/api/src/main/java/com/netease/arctic/api/process/ProcessState.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/ProcessState.java
index c814677b8..d901dde1a 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/ProcessState.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/ProcessState.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
-import com.netease.arctic.api.Action;
+import org.apache.amoro.api.Action;
 
 import java.util.Map;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/ProcessStatus.java b/ams/api/src/main/java/org/apache/amoro/api/process/ProcessStatus.java
similarity index 96%
rename from ams/api/src/main/java/com/netease/arctic/api/process/ProcessStatus.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/ProcessStatus.java
index ad0ac8057..0df65e5c0 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/ProcessStatus.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/ProcessStatus.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
 /**
  * Status of any {@link AmoroProcess}. Only UNKNOWN, RUNNING, FINISHED(SUCCESS, CLOSED, FAILED) are
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/SimpleFuture.java b/ams/api/src/main/java/org/apache/amoro/api/process/SimpleFuture.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/process/SimpleFuture.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/SimpleFuture.java
index e4435bb0f..0c0442215 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/SimpleFuture.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/SimpleFuture.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/TableProcess.java b/ams/api/src/main/java/org/apache/amoro/api/process/TableProcess.java
similarity index 96%
rename from ams/api/src/main/java/com/netease/arctic/api/process/TableProcess.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/TableProcess.java
index 28f1ee4c5..29fbae592 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/TableProcess.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/TableProcess.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
-import com.netease.arctic.api.TableRuntime;
+import org.apache.amoro.api.TableRuntime;
 
 /**
  * An abstract table process to handle table state.
diff --git a/ams/api/src/main/java/com/netease/arctic/api/process/TableProcessState.java b/ams/api/src/main/java/org/apache/amoro/api/process/TableProcessState.java
similarity index 95%
rename from ams/api/src/main/java/com/netease/arctic/api/process/TableProcessState.java
rename to ams/api/src/main/java/org/apache/amoro/api/process/TableProcessState.java
index fa070345b..94b036000 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/process/TableProcessState.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/process/TableProcessState.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.process;
+package org.apache.amoro.api.process;
 
-import com.netease.arctic.api.Action;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.StateField;
+import org.apache.amoro.api.Action;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.StateField;
 
 import java.util.Map;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/resource/Resource.java b/ams/api/src/main/java/org/apache/amoro/api/resource/Resource.java
similarity index 99%
rename from ams/api/src/main/java/com/netease/arctic/api/resource/Resource.java
rename to ams/api/src/main/java/org/apache/amoro/api/resource/Resource.java
index c551a00be..5031c740c 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/resource/Resource.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/resource/Resource.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.resource;
+package org.apache.amoro.api.resource;
 
 import com.netease.arctic.api.OptimizerRegisterInfo;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceContainer.java b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceContainer.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/resource/ResourceContainer.java
rename to ams/api/src/main/java/org/apache/amoro/api/resource/ResourceContainer.java
index 7667edcde..cc05059b4 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceContainer.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceContainer.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.resource;
+package org.apache.amoro.api.resource;
 
 import java.util.Map;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceGroup.java b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceGroup.java
similarity index 98%
rename from ams/api/src/main/java/com/netease/arctic/api/resource/ResourceGroup.java
rename to ams/api/src/main/java/org/apache/amoro/api/resource/ResourceGroup.java
index cc9e5c994..6cc91e0e5 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceGroup.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceGroup.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.resource;
+package org.apache.amoro.api.resource;
 
 import com.netease.arctic.Constants;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceManager.java b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceManager.java
similarity index 97%
rename from ams/api/src/main/java/com/netease/arctic/api/resource/ResourceManager.java
rename to ams/api/src/main/java/org/apache/amoro/api/resource/ResourceManager.java
index 337bad19b..2083031c7 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceManager.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceManager.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.resource;
+package org.apache.amoro.api.resource;
 
 import java.util.List;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceStatus.java b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceStatus.java
similarity index 95%
rename from ams/api/src/main/java/com/netease/arctic/api/resource/ResourceStatus.java
rename to ams/api/src/main/java/org/apache/amoro/api/resource/ResourceStatus.java
index 2f96bdbd0..62454242b 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceStatus.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceStatus.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.resource;
+package org.apache.amoro.api.resource;
 
 public enum ResourceStatus {
   INITIALIZING,
diff --git a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceType.java b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceType.java
similarity index 95%
rename from ams/api/src/main/java/com/netease/arctic/api/resource/ResourceType.java
rename to ams/api/src/main/java/org/apache/amoro/api/resource/ResourceType.java
index 9991fb26b..bb8911534 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/resource/ResourceType.java
+++ b/ams/api/src/main/java/org/apache/amoro/api/resource/ResourceType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.resource;
+package org.apache.amoro.api.resource;
 
 public enum ResourceType {
   OPTIMIZER(0);
diff --git a/ams/api/src/main/thrift/arctic_commons.thrift b/ams/api/src/main/thrift/arctic_commons.thrift
deleted file mode 100644
index 761b36622..000000000
--- a/ams/api/src/main/thrift/arctic_commons.thrift
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace java com.netease.arctic.ams.api
-
-/**
-* General definition of the arctic thrift interface.
-* This file defines the type definitions that all of arctic's multiple thrift services depend on.
-**/
-
-exception AlreadyExistsException {
-  1: string message
-}
-
-exception InvalidObjectException {
-  1: string message
-}
-
-exception NoSuchObjectException {
-  1: string message
-}
-
-exception MetaException {
-  1: string message
-}
-
-exception NotSupportedException {
-  1: string message
-}
-
-exception OperationConflictException {
-  1: string message
-}
-
-exception ArcticException {
-  1: i32 errorCode
-  2: string errorName
-  3: string message
-}
-
-struct TableIdentifier {
-    1:string catalog;
-    2:string database;
-    3:string tableName;
-}
-
-// inner class begin
-
-struct ColumnInfo {
-    1:optional i32 id;
-    2:string name;
-    3:optional string type;
-    4:optional string doc;
-    5:bool isOptional;
-}
-
-struct Schema {
-    1:list<ColumnInfo> columns;
-    2:optional list<ColumnInfo> pks;
-    3:optional list<ColumnInfo> partitionColumns;
-    4:optional list<ColumnInfo> sortColumns;
-}
-
-
-
diff --git a/ams/api/src/main/thrift/arctic_optimizing_service.thrift b/ams/api/src/main/thrift/arctic_optimizing_service.thrift
deleted file mode 100644
index bb6e3ed9a..000000000
--- a/ams/api/src/main/thrift/arctic_optimizing_service.thrift
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace java com.netease.arctic.ams.api
-
-include "arctic_commons.thrift"
-
-struct OptimizingTask {
-    1: OptimizingTaskId taskId;
-    2: optional binary taskInput;
-    3: optional map<string, string> properties;
-}
-
-struct OptimizingTaskId {
-    1: i64 processId;
-    2: i32 taskId;
-}
-
-struct OptimizingTaskResult {
-    1: OptimizingTaskId taskId;
-    2: i32 threadId;
-    3: optional binary taskOutput;
-    4: optional string errorMessage;
-    5: optional map<string, string> summary;
-}
-
-struct OptimizerRegisterInfo {
-    1: optional string resourceId;
-    2: i32 threadCount;
-    3: i32 memoryMb;
-    4: i64 startTime;
-    5: string groupName;
-    6: optional map<string, string> properties;
-}
-
-service OptimizingService {
-
-    void ping()
-
-    void touch(1: string authToken) throws(1: arctic_commons.ArcticException e1)
-
-    OptimizingTask pollTask(1: string authToken, 2: i32 threadId)
-            throws (1: arctic_commons.ArcticException e1)
-
-    void ackTask(1: string authToken, 2: i32 threadId, 3: OptimizingTaskId taskId)
-            throws(1: arctic_commons.ArcticException e1)
-
-    void completeTask(1: string authToken, 2: OptimizingTaskResult taskResult)
-            throws (1: arctic_commons.ArcticException e1)
-
-    string authenticate(1: OptimizerRegisterInfo registerInfo)
-            throws (1: arctic_commons.ArcticException e1)
-}
\ No newline at end of file
diff --git a/ams/api/src/main/thrift/arctic_table_metastore.thrift b/ams/api/src/main/thrift/arctic_table_metastore.thrift
deleted file mode 100644
index faff5c5b6..000000000
--- a/ams/api/src/main/thrift/arctic_table_metastore.thrift
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace java com.netease.arctic.ams.api
-
-include "arctic_commons.thrift"
-
-struct CatalogMeta {
-  1: required string catalogName;
-  2: required string catalogType;
-  3: map<string, string> storageConfigs;
-  4: map<string, string> authConfigs;
-  5: map<string, string> catalogProperties;
-}
-
-struct PartitionFieldData {
-    1: string name;
-    2: string value;
-}
-
-struct DataFile {
-    // base_file, insert_file, delete_file
-    1: string fileType;
-    2: string path;
-    // file size in bytes
-    3: i64 fileSize;
-    4: i64 mask;
-    5: i64 index;
-    6: i64 specId;
-    7: list<PartitionFieldData> partition;
-    8: i64 recordCount;
-    // deprecated, may remove from v0.5
-    9: map<string, binary> upperBounds;
-}
-
-struct TableChange {
-    // base, change
-    1: string innerTable;
-    2: list<DataFile> addFiles;
-    3: list<DataFile> deleteFiles;
-    4: i64 snapshotId;
-    5: i64 snapshotSequence;
-    6: i64 parentSnapshotId;
-}
-
-// task commit info
-struct TableCommitMeta {
-    1: arctic_commons.TableIdentifier tableIdentifier;
-    2: string action;
-    3: list<TableChange> changes;
-    4: i64 commitTime;
-    5: map<string, string> properties;
-    6: CommitMetaProducer commitMetaProducer;
-    7: SchemaUpdateMeta schemaUpdateMeta;
-}
-
-struct UpdateColumn {
-    1: string name;
-    2: optional string parent;
-    3: optional string type;
-    4: optional string doc;
-    5: string operate;
-    6: optional string isOptional;
-    7: optional string newName;
-}
-
-struct SchemaUpdateMeta {
-    1: i32 schemaId;
-    2: list<UpdateColumn> updateColumns;
-}
-
-struct TableMeta {
-    1:arctic_commons.TableIdentifier tableIdentifier;
-    2:PrimaryKeySpec keySpec;
-    3:optional map<string, string> properties;
-    4:map<string, string> locations ;
-    5:string format;
-}
-
-struct PrimaryKeySpec {
-  1: list<string> fields;
-}
-
-enum CommitMetaProducer {
-    OPTIMIZE,
-    INGESTION,
-    DATA_EXPIRATION
-}
-
-struct Blocker {
-    1:string blockerId;
-    2:list<BlockableOperation> operations;
-    3:map<string, string> properties;
-}
-
-enum BlockableOperation {
-   OPTIMIZE,
-   BATCH_WRITE
-}
-
-
-/**
-* replace TableContainer、ArcticTableItem
-**/
-service ArcticTableMetastore {
-
-    void ping()
-
-    // catalog api
-    list<CatalogMeta> getCatalogs()
-
-    CatalogMeta getCatalog(1: string name) throws (1: arctic_commons.NoSuchObjectException e1)
-
-    list<string> getDatabases(1: string catalogName) throws (1: arctic_commons.NoSuchObjectException e)
-
-    void createDatabase(1: string catalogName, 2: string database) throws (
-          1: arctic_commons.NoSuchObjectException e1,
-          2: arctic_commons.AlreadyExistsException e2)
-
-    void dropDatabase(1: string catalogName, 2: string database) throws (
-          1: arctic_commons.NoSuchObjectException e1,
-          2: arctic_commons.NotSupportedException e2)
-
-    void createTableMeta(1: TableMeta tableMeta)
-          throws(
-          1: arctic_commons.AlreadyExistsException e1,
-          2: arctic_commons.InvalidObjectException e2
-          3: arctic_commons.MetaException e3)
-
-    list<TableMeta> listTables(1: string catalogName, 2: string database)
-        throws(1: arctic_commons.NoSuchObjectException e);
-
-    TableMeta getTable(1:arctic_commons.TableIdentifier tableIdentifier)
-            throws(1: arctic_commons.NoSuchObjectException e);
-
-    void removeTable(1:arctic_commons.TableIdentifier tableIdentifier, 2:bool deleteData)
-        throws(
-        1:arctic_commons.NoSuchObjectException e1,
-        2:arctic_commons.MetaException e2)
-
-    void tableCommit(1: TableCommitMeta commit) throws (1: arctic_commons.MetaException e1)
-
-    i64 allocateTransactionId(1:arctic_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)
-
-    void releaseBlocker(1:arctic_commons.TableIdentifier tableIdentifier, 2:string blockerId)
-
-    i64 renewBlocker(1:arctic_commons.TableIdentifier tableIdentifier, 2:string blockerId)
-        throws(1: arctic_commons.NoSuchObjectException e)
-
-    list<Blocker> getBlockers(1:arctic_commons.TableIdentifier tableIdentifier)
-}
diff --git a/ams/api/src/test/java/com/netease/arctic/api/MockZookeeperServer.java b/ams/api/src/test/java/org/apache/amoro/api/MockZookeeperServer.java
similarity index 98%
rename from ams/api/src/test/java/com/netease/arctic/api/MockZookeeperServer.java
rename to ams/api/src/test/java/org/apache/amoro/api/MockZookeeperServer.java
index ecfac50e3..c94dc81fd 100644
--- a/ams/api/src/test/java/com/netease/arctic/api/MockZookeeperServer.java
+++ b/ams/api/src/test/java/org/apache/amoro/api/MockZookeeperServer.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api;
+package org.apache.amoro.api;
 
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
diff --git a/ams/api/src/test/java/com/netease/arctic/api/metrics/MetricDefineTest.java b/ams/api/src/test/java/org/apache/amoro/api/metrics/MetricDefineTest.java
similarity index 98%
rename from ams/api/src/test/java/com/netease/arctic/api/metrics/MetricDefineTest.java
rename to ams/api/src/test/java/org/apache/amoro/api/metrics/MetricDefineTest.java
index b85497eef..3007ea8af 100644
--- a/ams/api/src/test/java/com/netease/arctic/api/metrics/MetricDefineTest.java
+++ b/ams/api/src/test/java/org/apache/amoro/api/metrics/MetricDefineTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
diff --git a/ams/api/src/test/java/com/netease/arctic/api/metrics/TestMetricDefine.java b/ams/api/src/test/java/org/apache/amoro/api/metrics/TestMetricDefine.java
similarity index 98%
rename from ams/api/src/test/java/com/netease/arctic/api/metrics/TestMetricDefine.java
rename to ams/api/src/test/java/org/apache/amoro/api/metrics/TestMetricDefine.java
index e4bcf7cdd..fc5efd021 100644
--- a/ams/api/src/test/java/com/netease/arctic/api/metrics/TestMetricDefine.java
+++ b/ams/api/src/test/java/org/apache/amoro/api/metrics/TestMetricDefine.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
diff --git a/ams/api/src/test/java/com/netease/arctic/api/metrics/TestMetricKey.java b/ams/api/src/test/java/org/apache/amoro/api/metrics/TestMetricKey.java
similarity index 98%
rename from ams/api/src/test/java/com/netease/arctic/api/metrics/TestMetricKey.java
rename to ams/api/src/test/java/org/apache/amoro/api/metrics/TestMetricKey.java
index 4064dddf6..44fdb8f10 100644
--- a/ams/api/src/test/java/com/netease/arctic/api/metrics/TestMetricKey.java
+++ b/ams/api/src/test/java/org/apache/amoro/api/metrics/TestMetricKey.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.api.metrics;
+package org.apache.amoro.api.metrics;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
diff --git a/ams/dist/src/main/arctic-bin/bin/ams.sh b/ams/dist/src/main/arctic-bin/bin/ams.sh
index 7846e1a3b..6ca20200d 100644
--- a/ams/dist/src/main/arctic-bin/bin/ams.sh
+++ b/ams/dist/src/main/arctic-bin/bin/ams.sh
@@ -53,7 +53,7 @@ if [ ! -z "$JVM_EXTRA_CONFIG" ];then
     JAVA_OPTS="${JAVA_OPTS} ${JVM_EXTRA_CONFIG}"
 fi
 
-RUN_SERVER="com.netease.arctic.server.ArcticServiceContainer"
+RUN_SERVER="org.apache.amoro.server.ArcticServiceContainer"
 
 
 LIB_PATH=$AMORO_HOME/lib
diff --git a/ams/dist/src/main/arctic-bin/bin/optimizer.sh b/ams/dist/src/main/arctic-bin/bin/optimizer.sh
index 59763a5fe..2d025f2e5 100755
--- a/ams/dist/src/main/arctic-bin/bin/optimizer.sh
+++ b/ams/dist/src/main/arctic-bin/bin/optimizer.sh
@@ -45,6 +45,6 @@ if [ ! -f $STDERR_LOG ];then
 fi
 
 JAVA_OPTS="-Xmx$1m -Dlog.home=${OPTIMIZER_LOG_DIR}"
-RUN_SERVER="com.netease.arctic.optimizer.standalone.StandaloneOptimizer"
+RUN_SERVER="org.apache.amoro.optimizer.standalone.StandaloneOptimizer"
 CMDS="$JAVA_RUN $JAVA_OPTS $RUN_SERVER $ARGS"
 nohup ${CMDS} >/dev/null 2>${STDERR_LOG} &
diff --git a/ams/dist/src/main/arctic-bin/conf/config.yaml b/ams/dist/src/main/arctic-bin/conf/config.yaml
index 3980ef9fa..02218a5c9 100644
--- a/ams/dist/src/main/arctic-bin/conf/config.yaml
+++ b/ams/dist/src/main/arctic-bin/conf/config.yaml
@@ -132,13 +132,13 @@ ams:
 
 containers:
   - name: localContainer
-    container-impl: com.netease.arctic.server.manager.LocalOptimizerContainer
+    container-impl: org.apache.amoro.server.manager.LocalOptimizerContainer
     properties:
       export.JAVA_HOME: "/opt/java"   # JDK environment
 
 #containers:
 #  - name: flinkContainer
-#    container-impl: com.netease.arctic.server.manager.FlinkOptimizerContainer
+#    container-impl: org.apache.amoro.server.manager.FlinkOptimizerContainer
 #    properties:
 #      flink-home: /opt/flink/                                     # Flink install home
 #      target: yarn-per-job                                        # Flink run target, (yarn-per-job, yarn-application, kubernetes-application)
@@ -153,7 +153,7 @@ containers:
 
 #containers:
 #  - name: sparkContainer
-#    container-impl: com.netease.arctic.server.manager.SparkOptimizerContainer
+#    container-impl: org.apache.amoro.server.manager.SparkOptimizerContainer
 #    properties:
 #      spark-home: /opt/spark/                                     # Spark install home
 #      master: yarn                                                # The cluster manager to connect to. See the list of https://spark.apache.org/docs/latest/submitting-applications.html#master-urls.
diff --git a/ams/metric-reporter/prometheus-reporter/src/main/java/com.netease.arctic.metrics.reporter.promethues/MetricCollector.java b/ams/metric-reporter/prometheus-reporter/src/main/java/org/apache/amoro/metrics/reporter/promethues/MetricCollector.java
similarity index 91%
rename from ams/metric-reporter/prometheus-reporter/src/main/java/com.netease.arctic.metrics.reporter.promethues/MetricCollector.java
rename to ams/metric-reporter/prometheus-reporter/src/main/java/org/apache/amoro/metrics/reporter/promethues/MetricCollector.java
index 044bba05b..520d8c75a 100644
--- a/ams/metric-reporter/prometheus-reporter/src/main/java/com.netease.arctic.metrics.reporter.promethues/MetricCollector.java
+++ b/ams/metric-reporter/prometheus-reporter/src/main/java/org/apache/amoro/metrics/reporter/promethues/MetricCollector.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.metrics.reporter.promethues;
+package org.apache.amoro.metrics.reporter.promethues;
 
-import com.netease.arctic.api.metrics.Counter;
-import com.netease.arctic.api.metrics.Gauge;
-import com.netease.arctic.api.metrics.Metric;
-import com.netease.arctic.api.metrics.MetricDefine;
-import com.netease.arctic.api.metrics.MetricKey;
-import com.netease.arctic.api.metrics.MetricSet;
-import com.netease.arctic.api.metrics.MetricType;
 import io.prometheus.client.Collector;
+import org.apache.amoro.api.metrics.Counter;
+import org.apache.amoro.api.metrics.Gauge;
+import org.apache.amoro.api.metrics.Metric;
+import org.apache.amoro.api.metrics.MetricDefine;
+import org.apache.amoro.api.metrics.MetricKey;
+import org.apache.amoro.api.metrics.MetricSet;
+import org.apache.amoro.api.metrics.MetricType;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ams/metric-reporter/prometheus-reporter/src/main/java/com.netease.arctic.metrics.reporter.promethues/PrometheusExporterMetricReporter.java b/ams/metric-reporter/prometheus-reporter/src/main/java/org/apache/amoro/metrics/reporter/promethues/PrometheusExporterMetricReporter.java
similarity index 92%
rename from ams/metric-reporter/prometheus-reporter/src/main/java/com.netease.arctic.metrics.reporter.promethues/PrometheusExporterMetricReporter.java
rename to ams/metric-reporter/prometheus-reporter/src/main/java/org/apache/amoro/metrics/reporter/promethues/PrometheusExporterMetricReporter.java
index 7e9e02eb4..60b462ebb 100644
--- a/ams/metric-reporter/prometheus-reporter/src/main/java/com.netease.arctic.metrics.reporter.promethues/PrometheusExporterMetricReporter.java
+++ b/ams/metric-reporter/prometheus-reporter/src/main/java/org/apache/amoro/metrics/reporter/promethues/PrometheusExporterMetricReporter.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.metrics.reporter.promethues;
+package org.apache.amoro.metrics.reporter.promethues;
 
-import com.netease.arctic.api.metrics.MetricReporter;
-import com.netease.arctic.api.metrics.MetricSet;
 import io.prometheus.client.exporter.HTTPServer;
+import org.apache.amoro.api.metrics.MetricReporter;
+import org.apache.amoro.api.metrics.MetricSet;
 
 import java.io.IOException;
 import java.util.Map;
diff --git a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/AbstractOptimizerOperator.java b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/AbstractOptimizerOperator.java
similarity index 99%
rename from ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/AbstractOptimizerOperator.java
rename to ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/AbstractOptimizerOperator.java
index 5af63a55e..3e296d604 100644
--- a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/AbstractOptimizerOperator.java
+++ b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/AbstractOptimizerOperator.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import com.netease.arctic.ErrorCodes;
 import com.netease.arctic.api.ArcticException;
diff --git a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/Optimizer.java b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/Optimizer.java
similarity index 96%
rename from ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/Optimizer.java
rename to ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/Optimizer.java
index c989ab7f0..ff5a1d0a6 100644
--- a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/Optimizer.java
+++ b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/Optimizer.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
-import com.netease.arctic.api.OptimizerProperties;
+import org.apache.amoro.api.OptimizerProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerConfig.java b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerConfig.java
similarity index 98%
rename from ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerConfig.java
rename to ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerConfig.java
index 266eb1faa..ed1158e61 100644
--- a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerConfig.java
+++ b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerConfig.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
-import com.netease.arctic.api.OptimizerProperties;
+import org.apache.amoro.api.OptimizerProperties;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 import org.kohsuke.args4j.CmdLineException;
 import org.kohsuke.args4j.CmdLineParser;
diff --git a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerExecutor.java b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerExecutor.java
similarity index 99%
rename from ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerExecutor.java
rename to ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerExecutor.java
index b72a447d1..c62321db8 100644
--- a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerExecutor.java
+++ b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerExecutor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskResult;
diff --git a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerToucher.java b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerToucher.java
similarity index 97%
rename from ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerToucher.java
rename to ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerToucher.java
index 0a1bd81ff..dc86da6a4 100644
--- a/ams/optimizer/common/src/main/java/com/netease/arctic/optimizer/common/OptimizerToucher.java
+++ b/ams/optimizer/common/src/main/java/org/apache/amoro/optimizer/common/OptimizerToucher.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import com.netease.arctic.ErrorCodes;
 import com.netease.arctic.api.ArcticException;
-import com.netease.arctic.api.OptimizerProperties;
 import com.netease.arctic.api.OptimizerRegisterInfo;
+import org.apache.amoro.api.OptimizerProperties;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/OptimizerTestBase.java b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/OptimizerTestBase.java
similarity index 97%
rename from ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/OptimizerTestBase.java
rename to ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/OptimizerTestBase.java
index eca05dbd3..24819dc2c 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/OptimizerTestBase.java
+++ b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/OptimizerTestBase.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import com.netease.arctic.TestAms;
 import org.junit.Before;
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/OptimizerTestHelpers.java b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/OptimizerTestHelpers.java
similarity index 96%
rename from ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/OptimizerTestHelpers.java
rename to ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/OptimizerTestHelpers.java
index 5dd401f89..178461847 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/OptimizerTestHelpers.java
+++ b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/OptimizerTestHelpers.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import org.kohsuke.args4j.CmdLineException;
 
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizer.java b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizer.java
similarity index 98%
rename from ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizer.java
rename to ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizer.java
index 18643c517..254b23cf0 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizer.java
+++ b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizer.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import com.netease.arctic.api.OptimizingTaskResult;
 import org.junit.Assert;
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerConfig.java b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerConfig.java
similarity index 98%
rename from ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerConfig.java
rename to ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerConfig.java
index ebe96bf4f..b35257813 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerConfig.java
+++ b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerConfig.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerExecutor.java b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerExecutor.java
similarity index 99%
rename from ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerExecutor.java
rename to ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerExecutor.java
index 850583487..774e6696b 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerExecutor.java
+++ b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerExecutor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
 import com.netease.arctic.api.OptimizerRegisterInfo;
 import com.netease.arctic.api.OptimizingTask;
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerToucher.java b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerToucher.java
similarity index 97%
rename from ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerToucher.java
rename to ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerToucher.java
index a20708d53..37bfc1ad6 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerToucher.java
+++ b/ams/optimizer/common/src/test/java/org/apache/amoro/optimizer/common/TestOptimizerToucher.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.common;
+package org.apache.amoro.optimizer.common;
 
-import com.netease.arctic.api.OptimizerProperties;
 import com.netease.arctic.api.OptimizerRegisterInfo;
+import org.apache.amoro.api.OptimizerProperties;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Assert;
diff --git a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkExecutor.java b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkExecutor.java
similarity index 96%
rename from ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkExecutor.java
rename to ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkExecutor.java
index 84181321b..c0975bfd3 100644
--- a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkExecutor.java
+++ b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkExecutor.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.flink;
+package org.apache.amoro.optimizer.flink;
 
 import static org.apache.flink.configuration.HighAvailabilityOptions.HA_CLUSTER_ID;
 import static org.apache.flink.configuration.TaskManagerOptions.TASK_MANAGER_RESOURCE_ID;
 
-import com.netease.arctic.optimizer.common.OptimizerExecutor;
+import org.apache.amoro.optimizer.common.OptimizerExecutor;
 import org.apache.flink.streaming.api.operators.AbstractStreamOperator;
 import org.apache.flink.streaming.api.operators.OneInputStreamOperator;
 import org.apache.flink.streaming.runtime.streamrecord.StreamRecord;
diff --git a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizer.java b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkOptimizer.java
similarity index 94%
rename from ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizer.java
rename to ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkOptimizer.java
index e138ade47..6b46e7dda 100644
--- a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizer.java
+++ b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkOptimizer.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.flink;
+package org.apache.amoro.optimizer.flink;
 
-import com.netease.arctic.optimizer.common.Optimizer;
-import com.netease.arctic.optimizer.common.OptimizerConfig;
-import com.netease.arctic.optimizer.common.OptimizerToucher;
+import org.apache.amoro.optimizer.common.Optimizer;
+import org.apache.amoro.optimizer.common.OptimizerConfig;
+import org.apache.amoro.optimizer.common.OptimizerToucher;
 import org.apache.flink.api.common.typeinfo.Types;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.configuration.JobManagerOptions;
diff --git a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizerExecutor.java b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkOptimizerExecutor.java
similarity index 94%
rename from ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizerExecutor.java
rename to ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkOptimizerExecutor.java
index 6a0745c39..ff542c953 100644
--- a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizerExecutor.java
+++ b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkOptimizerExecutor.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.flink;
+package org.apache.amoro.optimizer.flink;
 
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskResult;
-import com.netease.arctic.optimizer.common.OptimizerConfig;
-import com.netease.arctic.optimizer.common.OptimizerExecutor;
+import org.apache.amoro.optimizer.common.OptimizerConfig;
+import org.apache.amoro.optimizer.common.OptimizerExecutor;
 import org.apache.flink.metrics.Counter;
 import org.apache.flink.metrics.MetricGroup;
 import org.apache.iceberg.relocated.com.google.common.base.Strings;
diff --git a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkToucher.java b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkToucher.java
similarity index 92%
rename from ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkToucher.java
rename to ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkToucher.java
index bf0e4f8ad..48575d1ff 100644
--- a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkToucher.java
+++ b/ams/optimizer/flink-optimizer/src/main/java/org/apache/amoro/optimizer/flink/FlinkToucher.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.flink;
+package org.apache.amoro.optimizer.flink;
 
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.optimizer.common.OptimizerToucher;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.optimizer.common.OptimizerToucher;
 import org.apache.flink.runtime.execution.Environment;
 import org.apache.flink.streaming.api.functions.source.RichParallelSourceFunction;
 import org.apache.flink.streaming.api.operators.StreamingRuntimeContext;
diff --git a/ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizer.java b/ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizer.java
similarity index 91%
rename from ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizer.java
rename to ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizer.java
index 14ade241c..6aa41af1a 100644
--- a/ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizer.java
+++ b/ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizer.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.spark;
+package org.apache.amoro.optimizer.spark;
 
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.optimizer.common.Optimizer;
-import com.netease.arctic.optimizer.common.OptimizerConfig;
-import com.netease.arctic.optimizer.common.OptimizerToucher;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.optimizer.common.Optimizer;
+import org.apache.amoro.optimizer.common.OptimizerConfig;
+import org.apache.amoro.optimizer.common.OptimizerToucher;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.sql.SparkSession;
 import org.apache.spark.util.Utils;
diff --git a/ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizerExecutor.java b/ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizerExecutor.java
similarity index 95%
rename from ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizerExecutor.java
rename to ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizerExecutor.java
index becf95799..d9db877c2 100644
--- a/ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizerExecutor.java
+++ b/ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizerExecutor.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.spark;
+package org.apache.amoro.optimizer.spark;
 
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskResult;
-import com.netease.arctic.optimizer.common.OptimizerConfig;
-import com.netease.arctic.optimizer.common.OptimizerExecutor;
 import com.netease.arctic.optimizing.RewriteFilesInput;
 import com.netease.arctic.optimizing.TableOptimizing;
 import com.netease.arctic.utils.ExceptionUtil;
 import com.netease.arctic.utils.SerializationUtil;
+import org.apache.amoro.optimizer.common.OptimizerConfig;
+import org.apache.amoro.optimizer.common.OptimizerExecutor;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.slf4j.Logger;
diff --git a/ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizingTaskFunction.java b/ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizingTaskFunction.java
similarity index 91%
rename from ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizingTaskFunction.java
rename to ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizingTaskFunction.java
index 11c9e3bb7..39ff25b2f 100644
--- a/ams/optimizer/spark-optimizer/src/main/java/com/netease/arctic/optimizer/spark/SparkOptimizingTaskFunction.java
+++ b/ams/optimizer/spark-optimizer/src/main/java/org/apache/amoro/optimizer/spark/SparkOptimizingTaskFunction.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.spark;
+package org.apache.amoro.optimizer.spark;
 
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskResult;
-import com.netease.arctic.optimizer.common.OptimizerConfig;
-import com.netease.arctic.optimizer.common.OptimizerExecutor;
+import org.apache.amoro.optimizer.common.OptimizerConfig;
+import org.apache.amoro.optimizer.common.OptimizerExecutor;
 import org.apache.spark.api.java.function.Function;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ams/optimizer/standalone-optimizer/src/main/java/com/netease/arctic/optimizer/standalone/StandaloneOptimizer.java b/ams/optimizer/standalone-optimizer/src/main/java/org/apache/amoro/optimizer/standalone/StandaloneOptimizer.java
similarity index 88%
rename from ams/optimizer/standalone-optimizer/src/main/java/com/netease/arctic/optimizer/standalone/StandaloneOptimizer.java
rename to ams/optimizer/standalone-optimizer/src/main/java/org/apache/amoro/optimizer/standalone/StandaloneOptimizer.java
index c07980064..09584c57b 100644
--- a/ams/optimizer/standalone-optimizer/src/main/java/com/netease/arctic/optimizer/standalone/StandaloneOptimizer.java
+++ b/ams/optimizer/standalone-optimizer/src/main/java/org/apache/amoro/optimizer/standalone/StandaloneOptimizer.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.optimizer.standalone;
+package org.apache.amoro.optimizer.standalone;
 
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.optimizer.common.Optimizer;
-import com.netease.arctic.optimizer.common.OptimizerConfig;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.optimizer.common.Optimizer;
+import org.apache.amoro.optimizer.common.OptimizerConfig;
 import org.kohsuke.args4j.CmdLineException;
 
 import java.lang.management.ManagementFactory;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/ArcticManagementConf.java b/ams/server/src/main/java/org/apache/amoro/server/ArcticManagementConf.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/ArcticManagementConf.java
rename to ams/server/src/main/java/org/apache/amoro/server/ArcticManagementConf.java
index 56e893cd8..b03f5bce2 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/ArcticManagementConf.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/ArcticManagementConf.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
-import com.netease.arctic.api.config.ConfigOption;
-import com.netease.arctic.api.config.ConfigOptions;
+import org.apache.amoro.api.config.ConfigOption;
+import org.apache.amoro.api.config.ConfigOptions;
 
 import java.time.Duration;
 import java.util.Arrays;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/ArcticManagementConfValidator.java b/ams/server/src/main/java/org/apache/amoro/server/ArcticManagementConfValidator.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/ArcticManagementConfValidator.java
rename to ams/server/src/main/java/org/apache/amoro/server/ArcticManagementConfValidator.java
index 79a6f21c3..5b1773698 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/ArcticManagementConfValidator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/ArcticManagementConfValidator.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
-import com.netease.arctic.api.config.ConfigOption;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.api.config.ConfigOption;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
 
 import java.net.InetAddress;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceConstants.java b/ams/server/src/main/java/org/apache/amoro/server/ArcticServiceConstants.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/ArcticServiceConstants.java
rename to ams/server/src/main/java/org/apache/amoro/server/ArcticServiceConstants.java
index f99ed6779..da51fdbf5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceConstants.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/ArcticServiceConstants.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 public class ArcticServiceConstants {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceContainer.java b/ams/server/src/main/java/org/apache/amoro/server/ArcticServiceContainer.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/ArcticServiceContainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/ArcticServiceContainer.java
index adb68c172..da22a3405 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceContainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/ArcticServiceContainer.java
@@ -16,34 +16,34 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.Constants;
 import com.netease.arctic.api.ArcticTableMetastore;
-import com.netease.arctic.api.OptimizerProperties;
 import com.netease.arctic.api.OptimizingService;
-import com.netease.arctic.api.config.ConfigHelpers;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.dashboard.DashboardServer;
-import com.netease.arctic.server.dashboard.response.ErrorResponse;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.dashboard.utils.CommonUtil;
-import com.netease.arctic.server.exception.ArcticRuntimeException;
-import com.netease.arctic.server.manager.EventsManager;
-import com.netease.arctic.server.manager.MetricManager;
-import com.netease.arctic.server.persistence.SqlSessionFactoryProvider;
-import com.netease.arctic.server.resource.ContainerMetadata;
-import com.netease.arctic.server.resource.OptimizerManager;
-import com.netease.arctic.server.resource.ResourceContainers;
-import com.netease.arctic.server.table.DefaultTableService;
-import com.netease.arctic.server.table.RuntimeHandlerChain;
-import com.netease.arctic.server.table.TableService;
-import com.netease.arctic.server.table.executor.AsyncTableExecutors;
-import com.netease.arctic.server.terminal.TerminalManager;
-import com.netease.arctic.server.utils.ThriftServiceProxy;
 import com.netease.arctic.utils.JacksonUtil;
 import io.javalin.Javalin;
 import io.javalin.http.HttpCode;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.api.config.ConfigHelpers;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.dashboard.DashboardServer;
+import org.apache.amoro.server.dashboard.response.ErrorResponse;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.dashboard.utils.CommonUtil;
+import org.apache.amoro.server.exception.ArcticRuntimeException;
+import org.apache.amoro.server.manager.EventsManager;
+import org.apache.amoro.server.manager.MetricManager;
+import org.apache.amoro.server.persistence.SqlSessionFactoryProvider;
+import org.apache.amoro.server.resource.ContainerMetadata;
+import org.apache.amoro.server.resource.OptimizerManager;
+import org.apache.amoro.server.resource.ResourceContainers;
+import org.apache.amoro.server.table.DefaultTableService;
+import org.apache.amoro.server.table.RuntimeHandlerChain;
+import org.apache.amoro.server.table.TableService;
+import org.apache.amoro.server.table.executor.AsyncTableExecutors;
+import org.apache.amoro.server.terminal.TerminalManager;
+import org.apache.amoro.server.utils.ThriftServiceProxy;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.SystemProperties;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/DefaultOptimizingService.java b/ams/server/src/main/java/org/apache/amoro/server/DefaultOptimizingService.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/DefaultOptimizingService.java
rename to ams/server/src/main/java/org/apache/amoro/server/DefaultOptimizingService.java
index c70675d16..a2d2bad7e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/DefaultOptimizingService.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/DefaultOptimizingService.java
@@ -16,42 +16,42 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.OptimizerProperties;
 import com.netease.arctic.api.OptimizerRegisterInfo;
 import com.netease.arctic.api.OptimizingService;
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskId;
 import com.netease.arctic.api.OptimizingTaskResult;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.api.resource.ResourceGroup;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.exception.ForbiddenException;
-import com.netease.arctic.server.exception.ObjectNotExistsException;
-import com.netease.arctic.server.exception.PluginRetryAuthException;
-import com.netease.arctic.server.exception.TaskNotFoundException;
-import com.netease.arctic.server.optimizing.OptimizingQueue;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.optimizing.TaskRuntime;
-import com.netease.arctic.server.persistence.StatedPersistentBase;
-import com.netease.arctic.server.persistence.mapper.OptimizerMapper;
-import com.netease.arctic.server.persistence.mapper.ResourceMapper;
-import com.netease.arctic.server.resource.OptimizerInstance;
-import com.netease.arctic.server.resource.OptimizerManager;
-import com.netease.arctic.server.resource.OptimizerThread;
-import com.netease.arctic.server.resource.QuotaProvider;
-import com.netease.arctic.server.table.DefaultTableService;
-import com.netease.arctic.server.table.RuntimeHandlerChain;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableRuntimeMeta;
-import com.netease.arctic.server.table.TableService;
 import com.netease.arctic.table.TableProperties;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.api.resource.ResourceGroup;
+import org.apache.amoro.server.exception.ForbiddenException;
+import org.apache.amoro.server.exception.ObjectNotExistsException;
+import org.apache.amoro.server.exception.PluginRetryAuthException;
+import org.apache.amoro.server.exception.TaskNotFoundException;
+import org.apache.amoro.server.optimizing.OptimizingQueue;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.persistence.StatedPersistentBase;
+import org.apache.amoro.server.persistence.mapper.OptimizerMapper;
+import org.apache.amoro.server.persistence.mapper.ResourceMapper;
+import org.apache.amoro.server.resource.OptimizerInstance;
+import org.apache.amoro.server.resource.OptimizerManager;
+import org.apache.amoro.server.resource.OptimizerThread;
+import org.apache.amoro.server.resource.QuotaProvider;
+import org.apache.amoro.server.table.DefaultTableService;
+import org.apache.amoro.server.table.RuntimeHandlerChain;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableRuntimeMeta;
+import org.apache.amoro.server.table.TableService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/Environments.java b/ams/server/src/main/java/org/apache/amoro/server/Environments.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/Environments.java
rename to ams/server/src/main/java/org/apache/amoro/server/Environments.java
index b6021e5cb..689676215 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/Environments.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/Environments.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 /** Util method to help get system directories. */
 public class Environments {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/HighAvailabilityContainer.java b/ams/server/src/main/java/org/apache/amoro/server/HighAvailabilityContainer.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/HighAvailabilityContainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/HighAvailabilityContainer.java
index 723adffa5..1803d28d8 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/HighAvailabilityContainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/HighAvailabilityContainer.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.client.AmsServerInfo;
 import com.netease.arctic.properties.AmsHAProperties;
 import com.netease.arctic.utils.JacksonUtil;
+import org.apache.amoro.api.config.Configurations;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
 import org.apache.curator.framework.recipes.leader.LeaderLatch;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/RestCatalogService.java b/ams/server/src/main/java/org/apache/amoro/server/RestCatalogService.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/RestCatalogService.java
rename to ams/server/src/main/java/org/apache/amoro/server/RestCatalogService.java
index 40192910b..9712a682c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/RestCatalogService.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/RestCatalogService.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import static io.javalin.apibuilder.ApiBuilder.delete;
 import static io.javalin.apibuilder.ApiBuilder.get;
@@ -30,17 +30,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.PropertyNamingStrategy;
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.events.IcebergReportEvent;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.catalog.InternalCatalog;
-import com.netease.arctic.server.catalog.ServerCatalog;
-import com.netease.arctic.server.exception.ObjectNotExistsException;
-import com.netease.arctic.server.manager.EventsManager;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.table.TableService;
-import com.netease.arctic.server.table.internal.InternalTableCreator;
-import com.netease.arctic.server.table.internal.InternalTableHandler;
 import com.netease.arctic.utils.ArcticCatalogUtil;
 import com.netease.arctic.utils.TablePropertyUtil;
 import io.javalin.apibuilder.EndpointGroup;
@@ -48,6 +38,16 @@ import io.javalin.http.ContentType;
 import io.javalin.http.Context;
 import io.javalin.http.HttpCode;
 import io.javalin.plugin.json.JavalinJackson;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.events.IcebergReportEvent;
+import org.apache.amoro.server.catalog.InternalCatalog;
+import org.apache.amoro.server.catalog.ServerCatalog;
+import org.apache.amoro.server.exception.ObjectNotExistsException;
+import org.apache.amoro.server.manager.EventsManager;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.table.TableService;
+import org.apache.amoro.server.table.internal.InternalTableCreator;
+import org.apache.amoro.server.table.internal.InternalTableHandler;
 import org.apache.iceberg.TableMetadata;
 import org.apache.iceberg.TableOperations;
 import org.apache.iceberg.catalog.Namespace;
@@ -282,7 +282,7 @@ public class RestCatalogService extends PersistentBase {
           try (InternalTableCreator creator =
               catalog.newTableCreator(database, tableName, format, request)) {
             try {
-              com.netease.arctic.server.table.TableMetadata metadata = creator.create();
+              org.apache.amoro.server.table.TableMetadata metadata = creator.create();
               tableService.createTable(catalog.name(), metadata);
             } catch (RuntimeException e) {
               creator.rollback();
@@ -343,7 +343,7 @@ public class RestCatalogService extends PersistentBase {
           boolean purge =
               Boolean.parseBoolean(
                   Optional.ofNullable(ctx.req.getParameter("purgeRequested")).orElse("false"));
-          com.netease.arctic.server.table.TableMetadata tableMetadata = handler.tableMetadata();
+          org.apache.amoro.server.table.TableMetadata tableMetadata = handler.tableMetadata();
           tableService.dropTableMetadata(tableMetadata.getTableIdentifier().getIdentifier(), purge);
           handler.dropTable(purge);
           return null;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/TableManagementService.java b/ams/server/src/main/java/org/apache/amoro/server/TableManagementService.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/TableManagementService.java
rename to ams/server/src/main/java/org/apache/amoro/server/TableManagementService.java
index ea4119dee..3b3b88550 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/TableManagementService.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/TableManagementService.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.ArcticTableMetastore;
@@ -25,13 +25,13 @@ import com.netease.arctic.api.Blocker;
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.api.NoSuchObjectException;
 import com.netease.arctic.api.OperationConflictException;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableCommitMeta;
 import com.netease.arctic.api.TableIdentifier;
 import com.netease.arctic.api.TableMeta;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.table.TableService;
-import com.netease.arctic.server.utils.InternalTableUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.TableService;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.thrift.TException;
 
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogBuilder.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogBuilder.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogBuilder.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogBuilder.java
index 3f276a30b..3a7f3961a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogBuilder.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogBuilder.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import static com.netease.arctic.properties.CatalogMetaProperties.CATALOG_TYPE_AMS;
 import static com.netease.arctic.properties.CatalogMetaProperties.CATALOG_TYPE_CUSTOM;
@@ -26,10 +26,10 @@ import static com.netease.arctic.properties.CatalogMetaProperties.CATALOG_TYPE_H
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.ArcticManagementConf;
 import com.netease.arctic.utils.ArcticCatalogUtil;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.ArcticManagementConf;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogService.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogService.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogService.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogService.java
index 873487b72..36002ccc9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogService.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogService.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.api.CatalogMeta;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogType.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogType.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogType.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogType.java
index c23bc0f4e..f44a1d498 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/CatalogType.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/CatalogType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 public enum CatalogType {
   AMS,
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/ExternalCatalog.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/ExternalCatalog.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/ExternalCatalog.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/ExternalCatalog.java
index 1ab93928c..915df043b 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/ExternalCatalog.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/ExternalCatalog.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.CommonUnifiedCatalog;
@@ -24,11 +24,11 @@ import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableIDWithFormat;
 import com.netease.arctic.UnifiedCatalog;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
 import com.netease.arctic.table.TableMetaStore;
 import com.netease.arctic.utils.ArcticCatalogUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.ArrayList;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/InternalCatalog.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/InternalCatalog.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/InternalCatalog.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/InternalCatalog.java
index 25dc95612..817004b99 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/InternalCatalog.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/InternalCatalog.java
@@ -16,22 +16,22 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableIDWithFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableIdentifier;
-import com.netease.arctic.server.exception.AlreadyExistsException;
-import com.netease.arctic.server.exception.IllegalMetadataException;
-import com.netease.arctic.server.exception.ObjectNotExistsException;
-import com.netease.arctic.server.persistence.mapper.CatalogMetaMapper;
-import com.netease.arctic.server.persistence.mapper.TableBlockerMapper;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.table.internal.InternalTableCreator;
-import com.netease.arctic.server.table.internal.InternalTableHandler;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.exception.AlreadyExistsException;
+import org.apache.amoro.server.exception.IllegalMetadataException;
+import org.apache.amoro.server.exception.ObjectNotExistsException;
+import org.apache.amoro.server.persistence.mapper.CatalogMetaMapper;
+import org.apache.amoro.server.persistence.mapper.TableBlockerMapper;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.internal.InternalTableCreator;
+import org.apache.amoro.server.table.internal.InternalTableHandler;
 import org.apache.iceberg.rest.requests.CreateTableRequest;
 
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/InternalIcebergCatalogImpl.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/InternalIcebergCatalogImpl.java
similarity index 88%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/InternalIcebergCatalogImpl.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/InternalIcebergCatalogImpl.java
index 75ac1bbe5..f8dc21404 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/InternalIcebergCatalogImpl.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/InternalIcebergCatalogImpl.java
@@ -16,24 +16,24 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.formats.iceberg.IcebergTable;
 import com.netease.arctic.io.ArcticFileIO;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.RestCatalogService;
-import com.netease.arctic.server.exception.ObjectNotExistsException;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.table.internal.InternalIcebergCreator;
-import com.netease.arctic.server.table.internal.InternalIcebergHandler;
-import com.netease.arctic.server.table.internal.InternalTableCreator;
-import com.netease.arctic.server.table.internal.InternalTableHandler;
-import com.netease.arctic.server.utils.InternalTableUtil;
 import com.netease.arctic.utils.ArcticCatalogUtil;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.RestCatalogService;
+import org.apache.amoro.server.exception.ObjectNotExistsException;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.internal.InternalIcebergCreator;
+import org.apache.amoro.server.table.internal.InternalIcebergHandler;
+import org.apache.amoro.server.table.internal.InternalTableCreator;
+import org.apache.amoro.server.table.internal.InternalTableHandler;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.iceberg.BaseTable;
 import org.apache.iceberg.CatalogProperties;
 import org.apache.iceberg.TableOperations;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/InternalMixedCatalogImpl.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/InternalMixedCatalogImpl.java
similarity index 89%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/InternalMixedCatalogImpl.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/InternalMixedCatalogImpl.java
index a44195af9..7d694f7cc 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/InternalMixedCatalogImpl.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/InternalMixedCatalogImpl.java
@@ -16,28 +16,28 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
-import static com.netease.arctic.server.table.internal.InternalTableConstants.CHANGE_STORE_TABLE_NAME_SUFFIX;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.CHANGE_STORE_TABLE_NAME_SUFFIX;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.formats.mixed.MixedTable;
 import com.netease.arctic.io.ArcticFileIO;
 import com.netease.arctic.mixed.InternalMixedIcebergCatalog;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.table.internal.InternalMixedIcebergCreator;
-import com.netease.arctic.server.table.internal.InternalMixedIcebergHandler;
-import com.netease.arctic.server.table.internal.InternalTableCreator;
-import com.netease.arctic.server.table.internal.InternalTableHandler;
-import com.netease.arctic.server.utils.InternalTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.BasicKeyedTable;
 import com.netease.arctic.table.BasicUnkeyedTable;
 import com.netease.arctic.table.PrimaryKeySpec;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.internal.InternalMixedIcebergCreator;
+import org.apache.amoro.server.table.internal.InternalMixedIcebergHandler;
+import org.apache.amoro.server.table.internal.InternalTableCreator;
+import org.apache.amoro.server.table.internal.InternalTableHandler;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.iceberg.BaseTable;
 import org.apache.iceberg.TableOperations;
 import org.apache.iceberg.catalog.TableIdentifier;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/MixedHiveCatalogImpl.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/MixedHiveCatalogImpl.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/MixedHiveCatalogImpl.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/MixedHiveCatalogImpl.java
index a81375ffd..9d6059599 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/MixedHiveCatalogImpl.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/MixedHiveCatalogImpl.java
@@ -16,20 +16,20 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.formats.mixed.MixedTable;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.table.internal.InternalTableCreator;
-import com.netease.arctic.server.table.internal.InternalTableHandler;
 import com.netease.arctic.utils.ArcticCatalogUtil;
 import org.apache.amoro.hive.CachedHiveClientPool;
 import org.apache.amoro.hive.HMSClient;
 import org.apache.amoro.hive.catalog.MixedHiveTables;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.internal.InternalTableCreator;
+import org.apache.amoro.server.table.internal.InternalTableHandler;
 import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
 import org.apache.iceberg.rest.requests.CreateTableRequest;
 import org.apache.thrift.TException;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/catalog/ServerCatalog.java b/ams/server/src/main/java/org/apache/amoro/server/catalog/ServerCatalog.java
similarity index 89%
rename from ams/server/src/main/java/com/netease/arctic/server/catalog/ServerCatalog.java
rename to ams/server/src/main/java/org/apache/amoro/server/catalog/ServerCatalog.java
index f49373a12..0b45378c3 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/catalog/ServerCatalog.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/catalog/ServerCatalog.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableIDWithFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.server.exception.IllegalMetadataException;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.CatalogMetaMapper;
+import org.apache.amoro.server.exception.IllegalMetadataException;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.CatalogMetaMapper;
 
 import java.util.List;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/APITokenManager.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/APITokenManager.java
similarity index 83%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/APITokenManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/APITokenManager.java
index b4074818c..316540148 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/APITokenManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/APITokenManager.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
-import com.netease.arctic.server.dashboard.model.ApiTokens;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.ApiTokensMapper;
+import org.apache.amoro.server.dashboard.model.ApiTokens;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.ApiTokensMapper;
 
 public class APITokenManager extends PersistentBase {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/DashboardServer.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/DashboardServer.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/DashboardServer.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/DashboardServer.java
index 1559658d7..9e910bf46 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/DashboardServer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/DashboardServer.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
 import static io.javalin.apibuilder.ApiBuilder.delete;
 import static io.javalin.apibuilder.ApiBuilder.get;
@@ -24,24 +24,6 @@ import static io.javalin.apibuilder.ApiBuilder.path;
 import static io.javalin.apibuilder.ApiBuilder.post;
 import static io.javalin.apibuilder.ApiBuilder.put;
 
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.DefaultOptimizingService;
-import com.netease.arctic.server.RestCatalogService;
-import com.netease.arctic.server.dashboard.controller.CatalogController;
-import com.netease.arctic.server.dashboard.controller.HealthCheckController;
-import com.netease.arctic.server.dashboard.controller.LoginController;
-import com.netease.arctic.server.dashboard.controller.OptimizerController;
-import com.netease.arctic.server.dashboard.controller.PlatformFileInfoController;
-import com.netease.arctic.server.dashboard.controller.SettingController;
-import com.netease.arctic.server.dashboard.controller.TableController;
-import com.netease.arctic.server.dashboard.controller.TerminalController;
-import com.netease.arctic.server.dashboard.controller.VersionController;
-import com.netease.arctic.server.dashboard.response.ErrorResponse;
-import com.netease.arctic.server.dashboard.utils.ParamSignatureCalculator;
-import com.netease.arctic.server.exception.ForbiddenException;
-import com.netease.arctic.server.exception.SignatureCheckException;
-import com.netease.arctic.server.table.TableService;
-import com.netease.arctic.server.terminal.TerminalManager;
 import com.netease.arctic.utils.JacksonUtil;
 import io.javalin.apibuilder.EndpointGroup;
 import io.javalin.http.ContentType;
@@ -49,6 +31,24 @@ import io.javalin.http.Context;
 import io.javalin.http.HttpCode;
 import io.javalin.http.staticfiles.Location;
 import io.javalin.http.staticfiles.StaticFileConfig;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.DefaultOptimizingService;
+import org.apache.amoro.server.RestCatalogService;
+import org.apache.amoro.server.dashboard.controller.CatalogController;
+import org.apache.amoro.server.dashboard.controller.HealthCheckController;
+import org.apache.amoro.server.dashboard.controller.LoginController;
+import org.apache.amoro.server.dashboard.controller.OptimizerController;
+import org.apache.amoro.server.dashboard.controller.PlatformFileInfoController;
+import org.apache.amoro.server.dashboard.controller.SettingController;
+import org.apache.amoro.server.dashboard.controller.TableController;
+import org.apache.amoro.server.dashboard.controller.TerminalController;
+import org.apache.amoro.server.dashboard.controller.VersionController;
+import org.apache.amoro.server.dashboard.response.ErrorResponse;
+import org.apache.amoro.server.dashboard.utils.ParamSignatureCalculator;
+import org.apache.amoro.server.exception.ForbiddenException;
+import org.apache.amoro.server.exception.SignatureCheckException;
+import org.apache.amoro.server.table.TableService;
+import org.apache.amoro.server.terminal.TerminalManager;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/FormatTableDescriptor.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/FormatTableDescriptor.java
similarity index 80%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/FormatTableDescriptor.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/FormatTableDescriptor.java
index acb37d170..f6571db80 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/FormatTableDescriptor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/FormatTableDescriptor.java
@@ -16,19 +16,19 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.server.dashboard.model.AmoroSnapshotsOfTable;
-import com.netease.arctic.server.dashboard.model.DDLInfo;
-import com.netease.arctic.server.dashboard.model.OperationType;
-import com.netease.arctic.server.dashboard.model.OptimizingProcessInfo;
-import com.netease.arctic.server.dashboard.model.OptimizingTaskInfo;
-import com.netease.arctic.server.dashboard.model.PartitionBaseInfo;
-import com.netease.arctic.server.dashboard.model.PartitionFileBaseInfo;
-import com.netease.arctic.server.dashboard.model.ServerTableMeta;
-import com.netease.arctic.server.dashboard.model.TagOrBranchInfo;
+import org.apache.amoro.server.dashboard.model.AmoroSnapshotsOfTable;
+import org.apache.amoro.server.dashboard.model.DDLInfo;
+import org.apache.amoro.server.dashboard.model.OperationType;
+import org.apache.amoro.server.dashboard.model.OptimizingProcessInfo;
+import org.apache.amoro.server.dashboard.model.OptimizingTaskInfo;
+import org.apache.amoro.server.dashboard.model.PartitionBaseInfo;
+import org.apache.amoro.server.dashboard.model.PartitionFileBaseInfo;
+import org.apache.amoro.server.dashboard.model.ServerTableMeta;
+import org.apache.amoro.server.dashboard.model.TagOrBranchInfo;
 import org.apache.iceberg.util.Pair;
 
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/MixedAndIcebergTableDescriptor.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/MixedAndIcebergTableDescriptor.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java
index df3ad442e..32fa6bb9d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/MixedAndIcebergTableDescriptor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/MixedAndIcebergTableDescriptor.java
@@ -16,37 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
-
-import static com.netease.arctic.server.dashboard.utils.AmsUtil.byteToXB;
+package org.apache.amoro.server.dashboard;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CommitMetaProducer;
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.data.FileNameRules;
-import com.netease.arctic.server.dashboard.component.reverser.DDLReverser;
-import com.netease.arctic.server.dashboard.component.reverser.IcebergTableMetaExtract;
-import com.netease.arctic.server.dashboard.model.AMSColumnInfo;
-import com.netease.arctic.server.dashboard.model.AMSPartitionField;
-import com.netease.arctic.server.dashboard.model.AmoroSnapshotsOfTable;
-import com.netease.arctic.server.dashboard.model.DDLInfo;
-import com.netease.arctic.server.dashboard.model.FilesStatistics;
-import com.netease.arctic.server.dashboard.model.OperationType;
-import com.netease.arctic.server.dashboard.model.OptimizingProcessInfo;
-import com.netease.arctic.server.dashboard.model.OptimizingTaskInfo;
-import com.netease.arctic.server.dashboard.model.PartitionBaseInfo;
-import com.netease.arctic.server.dashboard.model.PartitionFileBaseInfo;
-import com.netease.arctic.server.dashboard.model.ServerTableMeta;
-import com.netease.arctic.server.dashboard.model.TableBasicInfo;
-import com.netease.arctic.server.dashboard.model.TableStatistics;
-import com.netease.arctic.server.dashboard.model.TagOrBranchInfo;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.dashboard.utils.TableStatCollector;
-import com.netease.arctic.server.optimizing.OptimizingProcessMeta;
-import com.netease.arctic.server.optimizing.OptimizingTaskMeta;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.TableIdentifier;
@@ -54,6 +30,28 @@ import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.ArcticDataFiles;
 import com.netease.arctic.utils.ArcticTableUtil;
+import org.apache.amoro.server.dashboard.component.reverser.DDLReverser;
+import org.apache.amoro.server.dashboard.component.reverser.IcebergTableMetaExtract;
+import org.apache.amoro.server.dashboard.model.AMSColumnInfo;
+import org.apache.amoro.server.dashboard.model.AMSPartitionField;
+import org.apache.amoro.server.dashboard.model.AmoroSnapshotsOfTable;
+import org.apache.amoro.server.dashboard.model.DDLInfo;
+import org.apache.amoro.server.dashboard.model.FilesStatistics;
+import org.apache.amoro.server.dashboard.model.OperationType;
+import org.apache.amoro.server.dashboard.model.OptimizingProcessInfo;
+import org.apache.amoro.server.dashboard.model.OptimizingTaskInfo;
+import org.apache.amoro.server.dashboard.model.PartitionBaseInfo;
+import org.apache.amoro.server.dashboard.model.PartitionFileBaseInfo;
+import org.apache.amoro.server.dashboard.model.ServerTableMeta;
+import org.apache.amoro.server.dashboard.model.TableBasicInfo;
+import org.apache.amoro.server.dashboard.model.TableStatistics;
+import org.apache.amoro.server.dashboard.model.TagOrBranchInfo;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.dashboard.utils.TableStatCollector;
+import org.apache.amoro.server.optimizing.OptimizingProcessMeta;
+import org.apache.amoro.server.optimizing.OptimizingTaskMeta;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.HasTableOperations;
@@ -116,9 +114,9 @@ public class MixedAndIcebergTableDescriptor extends PersistentBase
     FilesStatistics baseFilesStatistics = tableBasicInfo.getBaseStatistics().getTotalFilesStat();
     Map<String, String> baseSummary = tableBasicInfo.getBaseStatistics().getSummary();
     baseMetrics.put("lastCommitTime", AmsUtil.longOrNull(baseSummary.get("visibleTime")));
-    baseMetrics.put("totalSize", byteToXB(baseFilesStatistics.getTotalSize()));
+    baseMetrics.put("totalSize", AmsUtil.byteToXB(baseFilesStatistics.getTotalSize()));
     baseMetrics.put("fileCount", baseFilesStatistics.getFileCnt());
-    baseMetrics.put("averageFileSize", byteToXB(baseFilesStatistics.getAverageSize()));
+    baseMetrics.put("averageFileSize", AmsUtil.byteToXB(baseFilesStatistics.getAverageSize()));
     if (tableBasicInfo.getChangeStatistics() == null) {
       baseMetrics.put("baseWatermark", AmsUtil.longOrNull(serverTableMeta.getTableWatermark()));
     } else {
@@ -135,9 +133,10 @@ public class MixedAndIcebergTableDescriptor extends PersistentBase
             tableBasicInfo.getChangeStatistics().getTotalFilesStat();
         Map<String, String> changeSummary = tableBasicInfo.getChangeStatistics().getSummary();
         changeMetrics.put("lastCommitTime", AmsUtil.longOrNull(changeSummary.get("visibleTime")));
-        changeMetrics.put("totalSize", byteToXB(changeFilesStatistics.getTotalSize()));
+        changeMetrics.put("totalSize", AmsUtil.byteToXB(changeFilesStatistics.getTotalSize()));
         changeMetrics.put("fileCount", changeFilesStatistics.getFileCnt());
-        changeMetrics.put("averageFileSize", byteToXB(changeFilesStatistics.getAverageSize()));
+        changeMetrics.put(
+            "averageFileSize", AmsUtil.byteToXB(changeFilesStatistics.getAverageSize()));
         changeMetrics.put(
             "tableWatermark", AmsUtil.longOrNull(serverTableMeta.getTableWatermark()));
         tableSize += changeFilesStatistics.getTotalSize();
@@ -152,9 +151,10 @@ public class MixedAndIcebergTableDescriptor extends PersistentBase
       serverTableMeta.setChangeMetrics(changeMetrics);
     }
     Map<String, Object> tableSummary = new HashMap<>();
-    tableSummary.put("size", byteToXB(tableSize));
+    tableSummary.put("size", AmsUtil.byteToXB(tableSize));
     tableSummary.put("file", tableFileCnt);
-    tableSummary.put("averageFile", byteToXB(tableFileCnt == 0 ? 0 : tableSize / tableFileCnt));
+    tableSummary.put(
+        "averageFile", AmsUtil.byteToXB(tableFileCnt == 0 ? 0 : tableSize / tableFileCnt));
     tableSummary.put("tableFormat", tableFormat);
     serverTableMeta.setTableSummary(tableSummary);
     return serverTableMeta;
@@ -266,13 +266,13 @@ public class MixedAndIcebergTableDescriptor extends PersistentBase
                 Map<String, String> normalizeSummary = Maps.newHashMap(summary);
                 normalizeSummary.computeIfPresent(
                     SnapshotSummary.TOTAL_FILE_SIZE_PROP,
-                    (k, v) -> byteToXB(Long.parseLong(summary.get(k))));
+                    (k, v) -> AmsUtil.byteToXB(Long.parseLong(summary.get(k))));
                 normalizeSummary.computeIfPresent(
                     SnapshotSummary.ADDED_FILE_SIZE_PROP,
-                    (k, v) -> byteToXB(Long.parseLong(summary.get(k))));
+                    (k, v) -> AmsUtil.byteToXB(Long.parseLong(summary.get(k))));
                 normalizeSummary.computeIfPresent(
                     SnapshotSummary.REMOVED_FILE_SIZE_PROP,
-                    (k, v) -> byteToXB(Long.parseLong(summary.get(k))));
+                    (k, v) -> AmsUtil.byteToXB(Long.parseLong(summary.get(k))));
                 amoroSnapshotsOfTable.setSummary(normalizeSummary);
 
                 // Metric in chart
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/PaimonTableDescriptor.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/PaimonTableDescriptor.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/PaimonTableDescriptor.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/PaimonTableDescriptor.java
index 1317e204f..7e92e80be 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/PaimonTableDescriptor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/PaimonTableDescriptor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
 import static com.netease.arctic.data.DataFileType.INSERT_FILE;
 import static org.apache.paimon.operation.FileStoreScan.Plan.groupByPartFiles;
@@ -25,24 +25,24 @@ import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CommitMetaProducer;
 import com.netease.arctic.data.DataFileType;
-import com.netease.arctic.server.dashboard.component.reverser.DDLReverser;
-import com.netease.arctic.server.dashboard.component.reverser.PaimonTableMetaExtract;
-import com.netease.arctic.server.dashboard.model.AMSColumnInfo;
-import com.netease.arctic.server.dashboard.model.AMSPartitionField;
-import com.netease.arctic.server.dashboard.model.AmoroSnapshotsOfTable;
-import com.netease.arctic.server.dashboard.model.DDLInfo;
-import com.netease.arctic.server.dashboard.model.OperationType;
-import com.netease.arctic.server.dashboard.model.OptimizingProcessInfo;
-import com.netease.arctic.server.dashboard.model.OptimizingTaskInfo;
-import com.netease.arctic.server.dashboard.model.PartitionBaseInfo;
-import com.netease.arctic.server.dashboard.model.PartitionFileBaseInfo;
-import com.netease.arctic.server.dashboard.model.ServerTableMeta;
-import com.netease.arctic.server.dashboard.model.TagOrBranchInfo;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.dashboard.utils.FilesStatisticsBuilder;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingType;
 import com.netease.arctic.table.TableIdentifier;
+import org.apache.amoro.server.dashboard.component.reverser.DDLReverser;
+import org.apache.amoro.server.dashboard.component.reverser.PaimonTableMetaExtract;
+import org.apache.amoro.server.dashboard.model.AMSColumnInfo;
+import org.apache.amoro.server.dashboard.model.AMSPartitionField;
+import org.apache.amoro.server.dashboard.model.AmoroSnapshotsOfTable;
+import org.apache.amoro.server.dashboard.model.DDLInfo;
+import org.apache.amoro.server.dashboard.model.OperationType;
+import org.apache.amoro.server.dashboard.model.OptimizingProcessInfo;
+import org.apache.amoro.server.dashboard.model.OptimizingTaskInfo;
+import org.apache.amoro.server.dashboard.model.PartitionBaseInfo;
+import org.apache.amoro.server.dashboard.model.PartitionFileBaseInfo;
+import org.apache.amoro.server.dashboard.model.ServerTableMeta;
+import org.apache.amoro.server.dashboard.model.TagOrBranchInfo;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.dashboard.utils.FilesStatisticsBuilder;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingType;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Streams;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/PlatformFileManager.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/PlatformFileManager.java
similarity index 86%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/PlatformFileManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/PlatformFileManager.java
index a552dd0a1..9dabf4204 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/PlatformFileManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/PlatformFileManager.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
-import com.netease.arctic.server.dashboard.model.PlatformFileInfo;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.PlatformFileMapper;
+import org.apache.amoro.server.dashboard.model.PlatformFileInfo;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.PlatformFileMapper;
 
 import java.util.Base64;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/ServerTableDescriptor.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/ServerTableDescriptor.java
similarity index 86%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/ServerTableDescriptor.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/ServerTableDescriptor.java
index fae91f1ad..137d7f12d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/ServerTableDescriptor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/ServerTableDescriptor.java
@@ -16,24 +16,24 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.TableIdentifier;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.catalog.ServerCatalog;
-import com.netease.arctic.server.dashboard.model.AmoroSnapshotsOfTable;
-import com.netease.arctic.server.dashboard.model.DDLInfo;
-import com.netease.arctic.server.dashboard.model.OperationType;
-import com.netease.arctic.server.dashboard.model.OptimizingProcessInfo;
-import com.netease.arctic.server.dashboard.model.OptimizingTaskInfo;
-import com.netease.arctic.server.dashboard.model.PartitionBaseInfo;
-import com.netease.arctic.server.dashboard.model.PartitionFileBaseInfo;
-import com.netease.arctic.server.dashboard.model.ServerTableMeta;
-import com.netease.arctic.server.dashboard.model.TagOrBranchInfo;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.table.TableService;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.catalog.ServerCatalog;
+import org.apache.amoro.server.dashboard.model.AmoroSnapshotsOfTable;
+import org.apache.amoro.server.dashboard.model.DDLInfo;
+import org.apache.amoro.server.dashboard.model.OperationType;
+import org.apache.amoro.server.dashboard.model.OptimizingProcessInfo;
+import org.apache.amoro.server.dashboard.model.OptimizingTaskInfo;
+import org.apache.amoro.server.dashboard.model.PartitionBaseInfo;
+import org.apache.amoro.server.dashboard.model.PartitionFileBaseInfo;
+import org.apache.amoro.server.dashboard.model.ServerTableMeta;
+import org.apache.amoro.server.dashboard.model.TagOrBranchInfo;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.table.TableService;
 import org.apache.iceberg.util.Pair;
 import org.apache.iceberg.util.ThreadPools;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/ServerTableProperties.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/ServerTableProperties.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/ServerTableProperties.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/ServerTableProperties.java
index e4a7b2cff..b4f2055c5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/ServerTableProperties.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/ServerTableProperties.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
 import com.netease.arctic.table.TableProperties;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/DDLReverser.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/DDLReverser.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/DDLReverser.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/DDLReverser.java
index 51947e9da..774d2a5a2 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/DDLReverser.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/DDLReverser.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
-import com.netease.arctic.server.dashboard.model.DDLInfo;
 import com.netease.arctic.table.TableIdentifier;
+import org.apache.amoro.server.dashboard.model.DDLInfo;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/IcebergTableMetaExtract.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/IcebergTableMetaExtract.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/IcebergTableMetaExtract.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/IcebergTableMetaExtract.java
index ab78342b9..d91bb3850 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/IcebergTableMetaExtract.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/IcebergTableMetaExtract.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
 import org.apache.iceberg.HasTableOperations;
 import org.apache.iceberg.Schema;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/IcebergTypeToSparkType.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/IcebergTypeToSparkType.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/IcebergTypeToSparkType.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/IcebergTypeToSparkType.java
index eda7c1902..a6a662769 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/IcebergTypeToSparkType.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/IcebergTypeToSparkType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/MetadataChangeHandler.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/MetadataChangeHandler.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/MetadataChangeHandler.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/MetadataChangeHandler.java
index 49440137e..ab11cb28a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/MetadataChangeHandler.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/MetadataChangeHandler.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTableMetaExtract.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/PaimonTableMetaExtract.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTableMetaExtract.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/PaimonTableMetaExtract.java
index 871058c0a..89f7ac0c8 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTableMetaExtract.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/PaimonTableMetaExtract.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.paimon.schema.SchemaManager;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTypeToSparkType.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/PaimonTypeToSparkType.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTypeToSparkType.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/PaimonTypeToSparkType.java
index e20ffb521..72ad832b5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTypeToSparkType.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/PaimonTypeToSparkType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
 import org.apache.paimon.types.ArrayType;
 import org.apache.paimon.types.BigIntType;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/SparkMetadataChangeHandler.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/SparkMetadataChangeHandler.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/SparkMetadataChangeHandler.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/SparkMetadataChangeHandler.java
index 0896a7b27..e7d79991e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/SparkMetadataChangeHandler.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/SparkMetadataChangeHandler.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/TableMetaExtract.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/TableMetaExtract.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/TableMetaExtract.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/TableMetaExtract.java
index f567db44c..1783fcc7e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/TableMetaExtract.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/component/reverser/TableMetaExtract.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.component.reverser;
+package org.apache.amoro.server.dashboard.component.reverser;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/CatalogController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/CatalogController.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/CatalogController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/CatalogController.java
index c42c79a51..474a2be89 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/CatalogController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/CatalogController.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
 import static com.netease.arctic.TableFormat.ICEBERG;
 import static com.netease.arctic.TableFormat.MIXED_HIVE;
@@ -51,20 +51,20 @@ import static com.netease.arctic.properties.CatalogMetaProperties.TABLE_FORMATS;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.catalog.InternalCatalog;
-import com.netease.arctic.server.catalog.ServerCatalog;
-import com.netease.arctic.server.dashboard.PlatformFileManager;
-import com.netease.arctic.server.dashboard.model.CatalogRegisterInfo;
-import com.netease.arctic.server.dashboard.model.CatalogSettingInfo;
-import com.netease.arctic.server.dashboard.model.CatalogSettingInfo.ConfigFileItem;
-import com.netease.arctic.server.dashboard.response.OkResponse;
-import com.netease.arctic.server.dashboard.utils.DesensitizationUtil;
-import com.netease.arctic.server.dashboard.utils.PropertiesUtil;
-import com.netease.arctic.server.table.TableService;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.utils.ArcticCatalogUtil;
 import io.javalin.http.Context;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.catalog.InternalCatalog;
+import org.apache.amoro.server.catalog.ServerCatalog;
+import org.apache.amoro.server.dashboard.PlatformFileManager;
+import org.apache.amoro.server.dashboard.model.CatalogRegisterInfo;
+import org.apache.amoro.server.dashboard.model.CatalogSettingInfo;
+import org.apache.amoro.server.dashboard.model.CatalogSettingInfo.ConfigFileItem;
+import org.apache.amoro.server.dashboard.response.OkResponse;
+import org.apache.amoro.server.dashboard.utils.DesensitizationUtil;
+import org.apache.amoro.server.dashboard.utils.PropertiesUtil;
+import org.apache.amoro.server.table.TableService;
 import org.apache.commons.lang.StringUtils;
 import org.apache.iceberg.CatalogProperties;
 import org.apache.iceberg.aws.AwsClientProperties;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/HealthCheckController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/HealthCheckController.java
similarity index 89%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/HealthCheckController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/HealthCheckController.java
index 156e3155b..23eff8f91 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/HealthCheckController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/HealthCheckController.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
-import com.netease.arctic.server.dashboard.response.OkResponse;
 import io.javalin.http.Context;
+import org.apache.amoro.server.dashboard.response.OkResponse;
 
 /** The controller that handles health check requests. */
 public class HealthCheckController {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/LoginController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/LoginController.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/LoginController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/LoginController.java
index e8f6a7821..72fd95220 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/LoginController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/LoginController.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.dashboard.response.OkResponse;
 import io.javalin.http.Context;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.dashboard.response.OkResponse;
 
 import java.io.Serializable;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/OptimizerController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/OptimizerController.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/OptimizerController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/OptimizerController.java
index 675079d5e..bdf7979f4 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/OptimizerController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/OptimizerController.java
@@ -16,25 +16,25 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.api.resource.ResourceGroup;
-import com.netease.arctic.api.resource.ResourceType;
-import com.netease.arctic.server.DefaultOptimizingService;
-import com.netease.arctic.server.dashboard.model.OptimizerInstanceInfo;
-import com.netease.arctic.server.dashboard.model.OptimizerResourceInfo;
-import com.netease.arctic.server.dashboard.model.TableOptimizingInfo;
-import com.netease.arctic.server.dashboard.response.OkResponse;
-import com.netease.arctic.server.dashboard.response.PageResult;
-import com.netease.arctic.server.dashboard.utils.OptimizingUtil;
-import com.netease.arctic.server.resource.ContainerMetadata;
-import com.netease.arctic.server.resource.OptimizerInstance;
-import com.netease.arctic.server.resource.ResourceContainers;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableService;
 import io.javalin.http.Context;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.api.resource.ResourceGroup;
+import org.apache.amoro.api.resource.ResourceType;
+import org.apache.amoro.server.DefaultOptimizingService;
+import org.apache.amoro.server.dashboard.model.OptimizerInstanceInfo;
+import org.apache.amoro.server.dashboard.model.OptimizerResourceInfo;
+import org.apache.amoro.server.dashboard.model.TableOptimizingInfo;
+import org.apache.amoro.server.dashboard.response.OkResponse;
+import org.apache.amoro.server.dashboard.response.PageResult;
+import org.apache.amoro.server.dashboard.utils.OptimizingUtil;
+import org.apache.amoro.server.resource.ContainerMetadata;
+import org.apache.amoro.server.resource.OptimizerInstance;
+import org.apache.amoro.server.resource.ResourceContainers;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableService;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
 import javax.ws.rs.BadRequestException;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/PlatformFileInfoController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/PlatformFileInfoController.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/PlatformFileInfoController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/PlatformFileInfoController.java
index 8db5f086d..a75a48bfe 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/PlatformFileInfoController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/PlatformFileInfoController.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
-import com.netease.arctic.server.dashboard.PlatformFileManager;
-import com.netease.arctic.server.dashboard.response.ErrorResponse;
-import com.netease.arctic.server.dashboard.response.OkResponse;
 import io.javalin.http.Context;
+import org.apache.amoro.server.dashboard.PlatformFileManager;
+import org.apache.amoro.server.dashboard.response.ErrorResponse;
+import org.apache.amoro.server.dashboard.response.OkResponse;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/SettingController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/SettingController.java
similarity index 87%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/SettingController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/SettingController.java
index ba58c8a45..df6d06835 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/SettingController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/SettingController.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.api.resource.ResourceGroup;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.dashboard.response.OkResponse;
-import com.netease.arctic.server.resource.ContainerMetadata;
-import com.netease.arctic.server.resource.OptimizerManager;
-import com.netease.arctic.server.resource.ResourceContainers;
 import io.javalin.http.Context;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.api.resource.ResourceGroup;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.dashboard.response.OkResponse;
+import org.apache.amoro.server.resource.ContainerMetadata;
+import org.apache.amoro.server.resource.OptimizerManager;
+import org.apache.amoro.server.resource.ResourceContainers;
 import org.glassfish.jersey.internal.guava.Sets;
 
 import java.util.ArrayList;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/TableController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/TableController.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/TableController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/TableController.java
index b3fcf1f15..d4711aa90 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/TableController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/TableController.java
@@ -16,53 +16,53 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
 import static com.netease.arctic.properties.CatalogMetaProperties.CATALOG_TYPE_HIVE;
 
 import com.netease.arctic.Constants;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.catalog.CatalogLoader;
 import com.netease.arctic.properties.CatalogMetaProperties;
 import com.netease.arctic.properties.HiveTableProperties;
-import com.netease.arctic.server.catalog.ServerCatalog;
-import com.netease.arctic.server.dashboard.ServerTableDescriptor;
-import com.netease.arctic.server.dashboard.ServerTableProperties;
-import com.netease.arctic.server.dashboard.model.AMSColumnInfo;
-import com.netease.arctic.server.dashboard.model.AmoroSnapshotsOfTable;
-import com.netease.arctic.server.dashboard.model.DDLInfo;
-import com.netease.arctic.server.dashboard.model.HiveTableInfo;
-import com.netease.arctic.server.dashboard.model.OperationType;
-import com.netease.arctic.server.dashboard.model.OptimizingProcessInfo;
-import com.netease.arctic.server.dashboard.model.OptimizingTaskInfo;
-import com.netease.arctic.server.dashboard.model.PartitionBaseInfo;
-import com.netease.arctic.server.dashboard.model.PartitionFileBaseInfo;
-import com.netease.arctic.server.dashboard.model.ServerTableMeta;
-import com.netease.arctic.server.dashboard.model.TableMeta;
-import com.netease.arctic.server.dashboard.model.TableOperation;
-import com.netease.arctic.server.dashboard.model.TagOrBranchInfo;
-import com.netease.arctic.server.dashboard.model.UpgradeHiveMeta;
-import com.netease.arctic.server.dashboard.model.UpgradeRunningInfo;
-import com.netease.arctic.server.dashboard.model.UpgradeStatus;
-import com.netease.arctic.server.dashboard.response.OkResponse;
-import com.netease.arctic.server.dashboard.response.PageResult;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.dashboard.utils.CommonUtil;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableService;
 import com.netease.arctic.table.TableIdentifier;
 import com.netease.arctic.table.TableMetaStore;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.utils.ArcticCatalogUtil;
 import io.javalin.http.Context;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.Configurations;
 import org.apache.amoro.hive.CachedHiveClientPool;
 import org.apache.amoro.hive.HMSClientPool;
 import org.apache.amoro.hive.catalog.ArcticHiveCatalog;
 import org.apache.amoro.hive.utils.HiveTableUtil;
 import org.apache.amoro.hive.utils.UpgradeHiveTableUtil;
+import org.apache.amoro.server.catalog.ServerCatalog;
+import org.apache.amoro.server.dashboard.ServerTableDescriptor;
+import org.apache.amoro.server.dashboard.ServerTableProperties;
+import org.apache.amoro.server.dashboard.model.AMSColumnInfo;
+import org.apache.amoro.server.dashboard.model.AmoroSnapshotsOfTable;
+import org.apache.amoro.server.dashboard.model.DDLInfo;
+import org.apache.amoro.server.dashboard.model.HiveTableInfo;
+import org.apache.amoro.server.dashboard.model.OperationType;
+import org.apache.amoro.server.dashboard.model.OptimizingProcessInfo;
+import org.apache.amoro.server.dashboard.model.OptimizingTaskInfo;
+import org.apache.amoro.server.dashboard.model.PartitionBaseInfo;
+import org.apache.amoro.server.dashboard.model.PartitionFileBaseInfo;
+import org.apache.amoro.server.dashboard.model.ServerTableMeta;
+import org.apache.amoro.server.dashboard.model.TableMeta;
+import org.apache.amoro.server.dashboard.model.TableOperation;
+import org.apache.amoro.server.dashboard.model.TagOrBranchInfo;
+import org.apache.amoro.server.dashboard.model.UpgradeHiveMeta;
+import org.apache.amoro.server.dashboard.model.UpgradeRunningInfo;
+import org.apache.amoro.server.dashboard.model.UpgradeStatus;
+import org.apache.amoro.server.dashboard.response.OkResponse;
+import org.apache.amoro.server.dashboard.response.PageResult;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.dashboard.utils.CommonUtil;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.Table;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/TerminalController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/TerminalController.java
similarity index 88%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/TerminalController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/TerminalController.java
index b6a7703eb..ec64cada0 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/TerminalController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/TerminalController.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
-import com.netease.arctic.server.dashboard.model.LatestSessionInfo;
-import com.netease.arctic.server.dashboard.model.SessionInfo;
-import com.netease.arctic.server.dashboard.model.SqlExample;
-import com.netease.arctic.server.dashboard.model.SqlResult;
-import com.netease.arctic.server.dashboard.response.OkResponse;
-import com.netease.arctic.server.terminal.TerminalManager;
 import io.javalin.http.Context;
+import org.apache.amoro.server.dashboard.model.LatestSessionInfo;
+import org.apache.amoro.server.dashboard.model.SessionInfo;
+import org.apache.amoro.server.dashboard.model.SqlExample;
+import org.apache.amoro.server.dashboard.model.SqlResult;
+import org.apache.amoro.server.dashboard.response.OkResponse;
+import org.apache.amoro.server.terminal.TerminalManager;
 
 import java.util.Arrays;
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/VersionController.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/VersionController.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/VersionController.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/VersionController.java
index 75e722bc4..e7a75a815 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/VersionController.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/controller/VersionController.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.controller;
+package org.apache.amoro.server.dashboard.controller;
 
-import com.netease.arctic.server.dashboard.model.VersionInfo;
-import com.netease.arctic.server.dashboard.response.OkResponse;
 import io.javalin.http.Context;
+import org.apache.amoro.server.dashboard.model.VersionInfo;
+import org.apache.amoro.server.dashboard.response.OkResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AMSColumnInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AMSColumnInfo.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AMSColumnInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AMSColumnInfo.java
index f74b03b1c..96790de42 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AMSColumnInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AMSColumnInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import com.netease.arctic.table.PrimaryKeySpec;
 import org.apache.iceberg.Schema;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AMSPartitionField.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AMSPartitionField.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AMSPartitionField.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AMSPartitionField.java
index 916c2e05a..385165ba8 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AMSPartitionField.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AMSPartitionField.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import org.apache.iceberg.PartitionField;
 import org.apache.iceberg.Schema;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AmoroSnapshotsOfTable.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AmoroSnapshotsOfTable.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AmoroSnapshotsOfTable.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AmoroSnapshotsOfTable.java
index a91ebd24b..5e8dc1c55 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AmoroSnapshotsOfTable.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/AmoroSnapshotsOfTable.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
 import org.apache.iceberg.relocated.com.google.common.base.Objects;
 
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/ApiTokens.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/ApiTokens.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/ApiTokens.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/ApiTokens.java
index a6ee37427..476d4a7b3 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/ApiTokens.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/ApiTokens.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public class ApiTokens {
   Integer id;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/CatalogRegisterInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/CatalogRegisterInfo.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/CatalogRegisterInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/CatalogRegisterInfo.java
index 02972461e..fd2dd1cb0 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/CatalogRegisterInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/CatalogRegisterInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/CatalogSettingInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/CatalogSettingInfo.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/CatalogSettingInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/CatalogSettingInfo.java
index 027a449eb..66a695b2b 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/CatalogSettingInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/CatalogSettingInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/DDLInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/DDLInfo.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/DDLInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/DDLInfo.java
index 6a243e3a4..a1ff68ad7 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/DDLInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/DDLInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import com.netease.arctic.table.TableIdentifier;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/FilesStatistics.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/FilesStatistics.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/FilesStatistics.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/FilesStatistics.java
index ba804109c..228ffaca2 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/FilesStatistics.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/FilesStatistics.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/HiveTableInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/HiveTableInfo.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/HiveTableInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/HiveTableInfo.java
index c3e906224..2ae7044ba 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/HiveTableInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/HiveTableInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import com.netease.arctic.table.TableIdentifier;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/KafkaClusterSimpleInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/KafkaClusterSimpleInfo.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/KafkaClusterSimpleInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/KafkaClusterSimpleInfo.java
index 86bd43696..ff140f495 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/KafkaClusterSimpleInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/KafkaClusterSimpleInfo.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
-import com.netease.arctic.server.dashboard.utils.CommonUtil;
+import org.apache.amoro.server.dashboard.utils.CommonUtil;
 import org.apache.commons.lang.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/LatestSessionInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/LatestSessionInfo.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/LatestSessionInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/LatestSessionInfo.java
index c423076f4..cafc3a7ba 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/LatestSessionInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/LatestSessionInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public class LatestSessionInfo {
   private String sessionId;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/LogInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/LogInfo.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/LogInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/LogInfo.java
index d53351af0..08e439413 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/LogInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/LogInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import java.util.List;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OperationType.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OperationType.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OperationType.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OperationType.java
index 867091b61..23d42718c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OperationType.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OperationType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import java.util.Arrays;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizerInstanceInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizerInstanceInfo.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizerInstanceInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizerInstanceInfo.java
index 673a0c9d5..e7302ff32 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizerInstanceInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizerInstanceInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizerResourceInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizerResourceInfo.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizerResourceInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizerResourceInfo.java
index ca311e942..aca14efe1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizerResourceInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizerResourceInfo.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
-import com.netease.arctic.api.resource.ResourceGroup;
+import org.apache.amoro.api.resource.ResourceGroup;
 
 public class OptimizerResourceInfo {
   private ResourceGroup resourceGroup;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizingProcessInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizingProcessInfo.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizingProcessInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizingProcessInfo.java
index 3defff063..b8b789b2c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizingProcessInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizingProcessInfo.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
-import com.netease.arctic.server.optimizing.MetricsSummary;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingProcessMeta;
-import com.netease.arctic.server.optimizing.OptimizingTaskMeta;
-import com.netease.arctic.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.MetricsSummary;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingProcessMeta;
+import org.apache.amoro.server.optimizing.OptimizingTaskMeta;
+import org.apache.amoro.server.optimizing.OptimizingType;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizingTaskInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizingTaskInfo.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizingTaskInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizingTaskInfo.java
index 93c4037aa..13724fccd 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/OptimizingTaskInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/OptimizingTaskInfo.java
@@ -16,11 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
-import static com.netease.arctic.server.ArcticServiceConstants.INVALID_TIME;
-
-import com.netease.arctic.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.optimizing.TaskRuntime;
 
 import java.util.Map;
 
@@ -72,7 +71,9 @@ public class OptimizingTaskInfo {
     this.threadId = threadId;
     this.startTime = startTime;
     this.endTime = endTime;
-    if (costTime == 0 && startTime != INVALID_TIME && endTime == INVALID_TIME) {
+    if (costTime == 0
+        && startTime != ArcticServiceConstants.INVALID_TIME
+        && endTime == ArcticServiceConstants.INVALID_TIME) {
       this.costTime = System.currentTimeMillis() - startTime;
     } else {
       this.costTime = costTime;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PartitionBaseInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PartitionBaseInfo.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PartitionBaseInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PartitionBaseInfo.java
index 00608989a..8ba48a09b 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PartitionBaseInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PartitionBaseInfo.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
 
 public class PartitionBaseInfo {
   String partition;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PartitionFileBaseInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PartitionFileBaseInfo.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PartitionFileBaseInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PartitionFileBaseInfo.java
index fe46aa7d4..a839b9956 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PartitionFileBaseInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PartitionFileBaseInfo.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import com.netease.arctic.data.DataFileType;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
 
 public class PartitionFileBaseInfo {
   private String commitId;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PlatformFileInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PlatformFileInfo.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PlatformFileInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PlatformFileInfo.java
index 7910b727c..30bd13092 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/PlatformFileInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/PlatformFileInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public class PlatformFileInfo {
   Integer fileId;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/ServerTableMeta.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/ServerTableMeta.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/ServerTableMeta.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/ServerTableMeta.java
index c4106a788..ae0e6bbaf 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/ServerTableMeta.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/ServerTableMeta.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import com.netease.arctic.table.TableIdentifier;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SessionInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SessionInfo.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SessionInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SessionInfo.java
index 2924e6f00..9d0abb3be 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SessionInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SessionInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public class SessionInfo {
   private String sessionId;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SnapshotInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SnapshotInfo.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SnapshotInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SnapshotInfo.java
index b50ae9c7a..86f6adad7 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SnapshotInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SnapshotInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlExample.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlExample.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlExample.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlExample.java
index 6a0150944..a15bb9c5f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlExample.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlExample.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 /** sql shortcut */
 public enum SqlExample {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlResult.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlResult.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlResult.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlResult.java
index b6f29e268..9bb1d3b77 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlResult.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlResult.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import java.util.List;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlStatus.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlStatus.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlStatus.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlStatus.java
index ed7024ee5..0acfe60c6 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/SqlStatus.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/SqlStatus.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 /** sql execute result */
 public enum SqlStatus {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableBasicInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableBasicInfo.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableBasicInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableBasicInfo.java
index f7b7077f1..278cd74b6 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableBasicInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableBasicInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import com.netease.arctic.table.TableIdentifier;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableMeta.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableMeta.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableMeta.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableMeta.java
index b67120791..b70fe01bd 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableMeta.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableMeta.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import java.util.Objects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableOperation.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableOperation.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableOperation.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableOperation.java
index fbb51fb0b..aa92c2ba6 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableOperation.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableOperation.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public class TableOperation {
   long ts;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableOptimizingInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableOptimizingInfo.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableOptimizingInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableOptimizingInfo.java
index d8b368238..17090180f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableOptimizingInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableOptimizingInfo.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
 import com.netease.arctic.table.TableProperties;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
 /** Current optimize state of an ArcticTable. */
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableStatistics.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableStatistics.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableStatistics.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableStatistics.java
index ca02940b2..d78f3e905 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TableStatistics.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TableStatistics.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import com.netease.arctic.table.TableIdentifier;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TagOrBranchInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TagOrBranchInfo.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TagOrBranchInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TagOrBranchInfo.java
index b30551256..6773fa11e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/TagOrBranchInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/TagOrBranchInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import org.apache.iceberg.SnapshotRef;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeHiveMeta.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeHiveMeta.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeHiveMeta.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeHiveMeta.java
index 8f3a339a7..7f6bd056e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeHiveMeta.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeHiveMeta.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeRunningInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeRunningInfo.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeRunningInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeRunningInfo.java
index 3809c4954..f1165cb07 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeRunningInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeRunningInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public class UpgradeRunningInfo {
   private String status = UpgradeStatus.UPGRADING.toString();
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeStatus.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeStatus.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeStatus.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeStatus.java
index bdc1d6772..c371fc15c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/UpgradeStatus.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/UpgradeStatus.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public enum UpgradeStatus {
   FAILED,
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/VersionInfo.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/VersionInfo.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/model/VersionInfo.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/model/VersionInfo.java
index 61d1d44d5..e763f8631 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/VersionInfo.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/model/VersionInfo.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.model;
+package org.apache.amoro.server.dashboard.model;
 
 public class VersionInfo {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/ErrorResponse.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/ErrorResponse.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/response/ErrorResponse.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/response/ErrorResponse.java
index a9fbc4ecb..c89423993 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/ErrorResponse.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/ErrorResponse.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.response;
+package org.apache.amoro.server.dashboard.response;
 
 import io.javalin.http.HttpCode;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/OkResponse.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/OkResponse.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/response/OkResponse.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/response/OkResponse.java
index 4ce8c2248..e62041b99 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/OkResponse.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/OkResponse.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.response;
+package org.apache.amoro.server.dashboard.response;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/PageResult.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/PageResult.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/response/PageResult.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/response/PageResult.java
index cd7588911..691319a5d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/PageResult.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/PageResult.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.response;
+package org.apache.amoro.server.dashboard.response;
 
 import org.apache.commons.collections.CollectionUtils;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/Response.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/Response.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/response/Response.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/response/Response.java
index 53baf626e..ad9841d72 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/response/Response.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/response/Response.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.response;
+package org.apache.amoro.server.dashboard.response;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/AmsUtil.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/AmsUtil.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/AmsUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/AmsUtil.java
index 33fe0e78d..261712848 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/AmsUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/AmsUtil.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
 import com.netease.arctic.Constants;
 import com.netease.arctic.api.TableIdentifier;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.ArcticManagementConf;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.ArcticManagementConf;
 
 import java.io.File;
 import java.io.PrintWriter;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/CommonUtil.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/CommonUtil.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/CommonUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/CommonUtil.java
index d04242f3e..35162382f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/CommonUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/CommonUtil.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
-import com.netease.arctic.server.exception.SignatureCheckException;
 import io.javalin.http.Context;
+import org.apache.amoro.server.exception.SignatureCheckException;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.net.telnet.TelnetClient;
 import org.slf4j.Logger;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/DesensitizationUtil.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/DesensitizationUtil.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/DesensitizationUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/DesensitizationUtil.java
index 7bc0966c7..67657ca76 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/DesensitizationUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/DesensitizationUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
 /** Util to desensitize sensitive data. */
 public class DesensitizationUtil {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/FilesStatisticsBuilder.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/FilesStatisticsBuilder.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/FilesStatisticsBuilder.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/FilesStatisticsBuilder.java
index 906814424..0c7865fd2 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/FilesStatisticsBuilder.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/FilesStatisticsBuilder.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
-import com.netease.arctic.server.dashboard.model.FilesStatistics;
+import org.apache.amoro.server.dashboard.model.FilesStatistics;
 
 public class FilesStatisticsBuilder {
   private int fileCnt = 0;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/OptimizingUtil.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/OptimizingUtil.java
similarity index 89%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/OptimizingUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/OptimizingUtil.java
index ad39fd228..ef6c70a29 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/OptimizingUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/OptimizingUtil.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
-import com.netease.arctic.server.dashboard.model.FilesStatistics;
-import com.netease.arctic.server.dashboard.model.TableOptimizingInfo;
-import com.netease.arctic.server.optimizing.MetricsSummary;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.optimizing.plan.OptimizingEvaluator;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.server.dashboard.model.FilesStatistics;
+import org.apache.amoro.server.dashboard.model.TableOptimizingInfo;
+import org.apache.amoro.server.optimizing.MetricsSummary;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.optimizing.plan.OptimizingEvaluator;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.ContentFile;
 
 public class OptimizingUtil {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/ParamSignatureCalculator.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/ParamSignatureCalculator.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/ParamSignatureCalculator.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/ParamSignatureCalculator.java
index b74b8bd93..c39091984 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/ParamSignatureCalculator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/ParamSignatureCalculator.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/PropertiesUtil.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/PropertiesUtil.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/PropertiesUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/PropertiesUtil.java
index d6194789f..18b9cd2ed 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/PropertiesUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/PropertiesUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
 import com.netease.arctic.properties.CatalogMetaProperties;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/TableStatCollector.java b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/TableStatCollector.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/TableStatCollector.java
rename to ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/TableStatCollector.java
index 1657a1f46..b48dece4f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/utils/TableStatCollector.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/dashboard/utils/TableStatCollector.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
 import com.netease.arctic.Constants;
-import com.netease.arctic.server.dashboard.model.FilesStatistics;
-import com.netease.arctic.server.dashboard.model.SnapshotInfo;
-import com.netease.arctic.server.dashboard.model.TableStatistics;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.TableIdentifier;
 import com.netease.arctic.table.UnkeyedTable;
+import org.apache.amoro.server.dashboard.model.FilesStatistics;
+import org.apache.amoro.server.dashboard.model.SnapshotInfo;
+import org.apache.amoro.server.dashboard.model.TableStatistics;
 import org.apache.iceberg.Snapshot;
 import org.apache.iceberg.SnapshotSummary;
 import org.apache.iceberg.Table;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/events/LoggingEventListener.java b/ams/server/src/main/java/org/apache/amoro/server/events/LoggingEventListener.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/events/LoggingEventListener.java
rename to ams/server/src/main/java/org/apache/amoro/server/events/LoggingEventListener.java
index 26ba15649..03545e283 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/events/LoggingEventListener.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/events/LoggingEventListener.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.events;
+package org.apache.amoro.server.events;
 
-import com.netease.arctic.api.events.Event;
-import com.netease.arctic.api.events.EventListener;
+import org.apache.amoro.api.events.Event;
+import org.apache.amoro.api.events.EventListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/AlreadyExistsException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/AlreadyExistsException.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/AlreadyExistsException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/AlreadyExistsException.java
index fe2404ce0..46fdb1bcd 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/AlreadyExistsException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/AlreadyExistsException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 import com.netease.arctic.api.TableIdentifier;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/ArcticRuntimeException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/ArcticRuntimeException.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/ArcticRuntimeException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/ArcticRuntimeException.java
index e0e14ff47..eea5d63cb 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/ArcticRuntimeException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/ArcticRuntimeException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 import com.netease.arctic.ErrorCodes;
 import com.netease.arctic.api.ArcticException;
@@ -24,8 +24,8 @@ import com.netease.arctic.api.InvalidObjectException;
 import com.netease.arctic.api.MetaException;
 import com.netease.arctic.api.NoSuchObjectException;
 import com.netease.arctic.api.OperationConflictException;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableIdentifier;
+import org.apache.amoro.api.ServerTableIdentifier;
 import org.apache.thrift.TException;
 
 import java.util.HashMap;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/BlockerConflictException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/BlockerConflictException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/BlockerConflictException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/BlockerConflictException.java
index e46b23d07..1862d5de5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/BlockerConflictException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/BlockerConflictException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class BlockerConflictException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/ForbiddenException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/ForbiddenException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/ForbiddenException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/ForbiddenException.java
index 4f23f1c0a..dbe5fc1e7 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/ForbiddenException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/ForbiddenException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 /** forbiddenException */
 public class ForbiddenException extends ArcticRuntimeException {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/IllegalMetadataException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/IllegalMetadataException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/IllegalMetadataException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/IllegalMetadataException.java
index 2c6defab5..82fc677bd 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/IllegalMetadataException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/IllegalMetadataException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class IllegalMetadataException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/IllegalTaskStateException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/IllegalTaskStateException.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/IllegalTaskStateException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/IllegalTaskStateException.java
index 4cc726a7e..f488df9b0 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/IllegalTaskStateException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/IllegalTaskStateException.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 import com.netease.arctic.api.OptimizingTaskId;
-import com.netease.arctic.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.optimizing.TaskRuntime;
 
 public class IllegalTaskStateException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/LoadingPluginException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/LoadingPluginException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/LoadingPluginException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/LoadingPluginException.java
index fc7c36db0..4cf22aa65 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/LoadingPluginException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/LoadingPluginException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class LoadingPluginException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/ObjectNotExistsException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/ObjectNotExistsException.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/ObjectNotExistsException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/ObjectNotExistsException.java
index 56df4f33a..5ac08e334 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/ObjectNotExistsException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/ObjectNotExistsException.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableIdentifier;
+import org.apache.amoro.api.ServerTableIdentifier;
 
 public class ObjectNotExistsException extends ArcticRuntimeException {
   public ObjectNotExistsException(String object) {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/OptimizingClosedException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/OptimizingClosedException.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/OptimizingClosedException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/OptimizingClosedException.java
index d173ac1a7..9ed14b000 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/OptimizingClosedException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/OptimizingClosedException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class OptimizingClosedException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/OptimizingCommitException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/OptimizingCommitException.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/OptimizingCommitException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/OptimizingCommitException.java
index 6eb11455e..9dc13bc35 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/OptimizingCommitException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/OptimizingCommitException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class OptimizingCommitException extends Exception {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/PersistenceException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/PersistenceException.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/PersistenceException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/PersistenceException.java
index 397928518..4cb74a271 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/PersistenceException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/PersistenceException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class PersistenceException extends ArcticRuntimeException {
   public PersistenceException(String message, Throwable cause) {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/PluginAuthException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/PluginAuthException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/PluginAuthException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/PluginAuthException.java
index fb32b5581..561fe8b3d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/PluginAuthException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/PluginAuthException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class PluginAuthException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/PluginRetryAuthException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/PluginRetryAuthException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/PluginRetryAuthException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/PluginRetryAuthException.java
index fff9c0859..95befb9e0 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/PluginRetryAuthException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/PluginRetryAuthException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class PluginRetryAuthException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/SignatureCheckException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/SignatureCheckException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/SignatureCheckException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/SignatureCheckException.java
index e67609984..a4270cb1e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/SignatureCheckException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/SignatureCheckException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 /** SignatureCheckException */
 public class SignatureCheckException extends ArcticRuntimeException {}
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/TaskNotFoundException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/TaskNotFoundException.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/TaskNotFoundException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/TaskNotFoundException.java
index 64fb3dbf9..7bb83b28a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/TaskNotFoundException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/TaskNotFoundException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 import com.netease.arctic.api.OptimizingTaskId;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/TaskRuntimeException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/TaskRuntimeException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/TaskRuntimeException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/TaskRuntimeException.java
index 6d089fc61..93bedc9f9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/TaskRuntimeException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/TaskRuntimeException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class TaskRuntimeException extends ArcticRuntimeException {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/exception/UndefinedException.java b/ams/server/src/main/java/org/apache/amoro/server/exception/UndefinedException.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/exception/UndefinedException.java
rename to ams/server/src/main/java/org/apache/amoro/server/exception/UndefinedException.java
index 627e9826b..0ed105011 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/exception/UndefinedException.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/exception/UndefinedException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.exception;
+package org.apache.amoro.server.exception;
 
 public class UndefinedException extends ArcticRuntimeException {
   public UndefinedException(Throwable throwable) {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/AbstractPluginManager.java b/ams/server/src/main/java/org/apache/amoro/server/manager/AbstractPluginManager.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/AbstractPluginManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/AbstractPluginManager.java
index 39e792def..2527f3d6c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/AbstractPluginManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/AbstractPluginManager.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.ActivePlugin;
-import com.netease.arctic.server.Environments;
-import com.netease.arctic.server.exception.AlreadyExistsException;
-import com.netease.arctic.server.exception.LoadingPluginException;
 import com.netease.arctic.utils.JacksonUtil;
+import org.apache.amoro.api.ActivePlugin;
+import org.apache.amoro.server.Environments;
+import org.apache.amoro.server.exception.AlreadyExistsException;
+import org.apache.amoro.server.exception.LoadingPluginException;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/AbstractResourceContainer.java b/ams/server/src/main/java/org/apache/amoro/server/manager/AbstractResourceContainer.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/AbstractResourceContainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/AbstractResourceContainer.java
index 3d4280eb7..b27ae1f98 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/AbstractResourceContainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/AbstractResourceContainer.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.OptimizerProperties;
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.api.resource.ResourceContainer;
-import com.netease.arctic.api.resource.ResourceStatus;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.api.resource.ResourceContainer;
+import org.apache.amoro.api.resource.ResourceStatus;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/ClassLoaderContext.java b/ams/server/src/main/java/org/apache/amoro/server/manager/ClassLoaderContext.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/ClassLoaderContext.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/ClassLoaderContext.java
index 8ba9dfb54..78188a965 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/ClassLoaderContext.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/ClassLoaderContext.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
 import java.io.Closeable;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/EventsManager.java b/ams/server/src/main/java/org/apache/amoro/server/manager/EventsManager.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/EventsManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/EventsManager.java
index 271d8ff93..2f5927480 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/EventsManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/EventsManager.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.events.Event;
-import com.netease.arctic.api.events.EventListener;
+import org.apache.amoro.api.events.Event;
+import org.apache.amoro.api.events.EventListener;
 
 import java.util.concurrent.Executor;
 import java.util.concurrent.LinkedBlockingQueue;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/ExecUtil.java b/ams/server/src/main/java/org/apache/amoro/server/manager/ExecUtil.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/ExecUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/ExecUtil.java
index cac0d85bd..63a31e22e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/ExecUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/ExecUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
 import org.apache.commons.io.IOUtils;
 import org.slf4j.Logger;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/FlinkOptimizerContainer.java b/ams/server/src/main/java/org/apache/amoro/server/manager/FlinkOptimizerContainer.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/FlinkOptimizerContainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/FlinkOptimizerContainer.java
index c55e4ce00..5661d10ba 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/FlinkOptimizerContainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/FlinkOptimizerContainer.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.OptimizerProperties;
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.server.utils.FlinkClientUtil;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.server.utils.FlinkClientUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.flink.api.common.JobID;
 import org.apache.flink.client.program.rest.RestClusterClient;
@@ -85,7 +85,7 @@ public class FlinkOptimizerContainer extends AbstractResourceContainer {
 
   private static final String DEFAULT_JOB_URI = "/plugin/optimizer/flink/optimizer-job.jar";
   private static final String FLINK_JOB_MAIN_CLASS =
-      "com.netease.arctic.optimizer.flink.FlinkOptimizer";
+      "org.apache.amoro.optimizer.flink.FlinkOptimizer";
 
   /**
    * This will be removed in 0.7.0, using flink properties
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/LocalOptimizerContainer.java b/ams/server/src/main/java/org/apache/amoro/server/manager/LocalOptimizerContainer.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/LocalOptimizerContainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/LocalOptimizerContainer.java
index d8de2600c..737bbc2b9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/LocalOptimizerContainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/LocalOptimizerContainer.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.resource.Resource;
+import org.apache.amoro.api.resource.Resource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/MetricManager.java b/ams/server/src/main/java/org/apache/amoro/server/manager/MetricManager.java
similarity index 90%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/MetricManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/MetricManager.java
index c05315f88..8ecdfd422 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/MetricManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/MetricManager.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.metrics.MetricRegisterListener;
-import com.netease.arctic.api.metrics.MetricReporter;
-import com.netease.arctic.server.metrics.MetricRegistry;
+import org.apache.amoro.api.metrics.MetricRegisterListener;
+import org.apache.amoro.api.metrics.MetricReporter;
+import org.apache.amoro.server.metrics.MetricRegistry;
 
 /** Metric plugins manager and registry */
 public class MetricManager extends AbstractPluginManager<MetricReporter> {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/PluginConfiguration.java b/ams/server/src/main/java/org/apache/amoro/server/manager/PluginConfiguration.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/PluginConfiguration.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/PluginConfiguration.java
index 5134588cf..5c2fc8d5c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/PluginConfiguration.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/PluginConfiguration.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
 import com.netease.arctic.utils.JacksonUtil;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/PluginManager.java b/ams/server/src/main/java/org/apache/amoro/server/manager/PluginManager.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/PluginManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/PluginManager.java
index 9b7f81f3f..3d2adfb1c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/PluginManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/PluginManager.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.AmoroPlugin;
+import org.apache.amoro.api.AmoroPlugin;
 
 import java.util.List;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/manager/SparkOptimizerContainer.java b/ams/server/src/main/java/org/apache/amoro/server/manager/SparkOptimizerContainer.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/manager/SparkOptimizerContainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/manager/SparkOptimizerContainer.java
index c78bcc26d..4d4dcd1f6 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/manager/SparkOptimizerContainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/manager/SparkOptimizerContainer.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.OptimizerProperties;
-import com.netease.arctic.api.resource.Resource;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.api.resource.Resource;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.base.Function;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
@@ -47,7 +47,7 @@ public class SparkOptimizerContainer extends AbstractResourceContainer {
   public static final String ENV_HADOOP_USER_NAME = "HADOOP_USER_NAME";
   private static final String DEFAULT_JOB_URI = "/plugin/optimizer/spark/optimizer-job.jar";
   private static final String SPARK_JOB_MAIN_CLASS =
-      "com.netease.arctic.optimizer.spark.SparkOptimizer";
+      "org.apache.amoro.optimizer.spark.SparkOptimizer";
   public static final String SPARK_MASTER = "master";
   public static final String SPARK_DEPLOY_MODE = "deploy-mode";
   public static final String SPARK_JOB_URI = "job-uri";
diff --git a/ams/server/src/main/java/com/netease/arctic/server/metrics/MetricRegistry.java b/ams/server/src/main/java/org/apache/amoro/server/metrics/MetricRegistry.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/metrics/MetricRegistry.java
rename to ams/server/src/main/java/org/apache/amoro/server/metrics/MetricRegistry.java
index c380db88f..06aeb4645 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/metrics/MetricRegistry.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/metrics/MetricRegistry.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.metrics;
+package org.apache.amoro.server.metrics;
 
-import com.netease.arctic.api.metrics.Metric;
-import com.netease.arctic.api.metrics.MetricDefine;
-import com.netease.arctic.api.metrics.MetricKey;
-import com.netease.arctic.api.metrics.MetricRegisterListener;
-import com.netease.arctic.api.metrics.MetricSet;
+import org.apache.amoro.api.metrics.Metric;
+import org.apache.amoro.api.metrics.MetricDefine;
+import org.apache.amoro.api.metrics.MetricKey;
+import org.apache.amoro.api.metrics.MetricRegisterListener;
+import org.apache.amoro.api.metrics.MetricSet;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/KeyedTableCommit.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/KeyedTableCommit.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/KeyedTableCommit.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/KeyedTableCommit.java
index cf37aedbc..71a723b17 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/KeyedTableCommit.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/KeyedTableCommit.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
-import static com.netease.arctic.server.ArcticServiceConstants.INVALID_SNAPSHOT_ID;
 import static org.apache.amoro.hive.op.UpdateHiveFiles.DELETE_UNTRACKED_HIVE_FILE;
 import static org.apache.amoro.hive.op.UpdateHiveFiles.SYNC_DATA_TO_HIVE;
 
@@ -29,11 +28,12 @@ import com.netease.arctic.op.OverwriteBaseFiles;
 import com.netease.arctic.op.SnapshotSummary;
 import com.netease.arctic.optimizing.RewriteFilesInput;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
-import com.netease.arctic.server.exception.OptimizingCommitException;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.ArcticTableUtil;
 import com.netease.arctic.utils.ContentFiles;
 import org.apache.amoro.hive.utils.TableTypeUtil;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.exception.OptimizingCommitException;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DeleteFile;
@@ -75,7 +75,8 @@ public class KeyedTableCommit extends UnKeyedTableCommit {
     super(fromSnapshotId, table, tasks);
     this.table = table;
     this.tasks = tasks;
-    this.fromSnapshotId = fromSnapshotId == null ? INVALID_SNAPSHOT_ID : fromSnapshotId;
+    this.fromSnapshotId =
+        fromSnapshotId == null ? ArcticServiceConstants.INVALID_SNAPSHOT_ID : fromSnapshotId;
     this.fromSequenceOfPartitions = fromSequenceOfPartitions;
     this.toSequenceOfPartitions = toSequenceOfPartitions;
   }
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/MetricsSummary.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/MetricsSummary.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/MetricsSummary.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/MetricsSummary.java
index 8947b2148..dd8ab5dc1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/MetricsSummary.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/MetricsSummary.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
-import static com.netease.arctic.server.dashboard.utils.AmsUtil.byteToXB;
+import static org.apache.amoro.server.dashboard.utils.AmsUtil.byteToXB;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.netease.arctic.optimizing.RewriteFilesInput;
-import com.netease.arctic.server.dashboard.model.FilesStatistics;
-import com.netease.arctic.server.dashboard.utils.FilesStatisticsBuilder;
+import org.apache.amoro.server.dashboard.model.FilesStatistics;
+import org.apache.amoro.server.dashboard.utils.FilesStatisticsBuilder;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.FileContent;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizerGroupMetrics.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizerGroupMetrics.java
similarity index 88%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizerGroupMetrics.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizerGroupMetrics.java
index 919f2fcc0..e44b1b2d1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizerGroupMetrics.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizerGroupMetrics.java
@@ -16,21 +16,21 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
-
-import static com.netease.arctic.api.metrics.MetricDefine.defineGauge;
-import static com.netease.arctic.server.optimizing.OptimizingStatus.PENDING;
-import static com.netease.arctic.server.optimizing.OptimizingStatus.PLANNING;
-import static com.netease.arctic.server.optimizing.TaskRuntime.Status.ACKED;
-import static com.netease.arctic.server.optimizing.TaskRuntime.Status.PLANNED;
-import static com.netease.arctic.server.optimizing.TaskRuntime.Status.SCHEDULED;
-
-import com.netease.arctic.api.metrics.Gauge;
-import com.netease.arctic.api.metrics.Metric;
-import com.netease.arctic.api.metrics.MetricDefine;
-import com.netease.arctic.api.metrics.MetricKey;
-import com.netease.arctic.server.metrics.MetricRegistry;
-import com.netease.arctic.server.resource.OptimizerInstance;
+package org.apache.amoro.server.optimizing;
+
+import static org.apache.amoro.api.metrics.MetricDefine.defineGauge;
+import static org.apache.amoro.server.optimizing.OptimizingStatus.PENDING;
+import static org.apache.amoro.server.optimizing.OptimizingStatus.PLANNING;
+import static org.apache.amoro.server.optimizing.TaskRuntime.Status.ACKED;
+import static org.apache.amoro.server.optimizing.TaskRuntime.Status.PLANNED;
+import static org.apache.amoro.server.optimizing.TaskRuntime.Status.SCHEDULED;
+
+import org.apache.amoro.api.metrics.Gauge;
+import org.apache.amoro.api.metrics.Metric;
+import org.apache.amoro.api.metrics.MetricDefine;
+import org.apache.amoro.api.metrics.MetricKey;
+import org.apache.amoro.server.metrics.MetricRegistry;
+import org.apache.amoro.server.resource.OptimizerInstance;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingProcess.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingProcess.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingProcess.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingProcess.java
index d6824630c..5e0f47447 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingProcess.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingProcess.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 public interface OptimizingProcess {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingProcessMeta.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingProcessMeta.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingProcessMeta.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingProcessMeta.java
index b548006db..b123e25af 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingProcessMeta.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingProcessMeta.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import java.util.Map;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingQueue.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingQueue.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingQueue.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingQueue.java
index bb08695cf..4fe7ab072 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingQueue.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingQueue.java
@@ -16,32 +16,32 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.OptimizerProperties;
 import com.netease.arctic.api.OptimizingTaskId;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.resource.ResourceGroup;
 import com.netease.arctic.optimizing.RewriteFilesInput;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.exception.OptimizingClosedException;
-import com.netease.arctic.server.manager.MetricManager;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.TaskFilesPersistence;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
-import com.netease.arctic.server.resource.OptimizerInstance;
-import com.netease.arctic.server.resource.QuotaProvider;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableRuntimeMeta;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.ArcticDataFiles;
 import com.netease.arctic.utils.CompatiblePropertyUtil;
 import com.netease.arctic.utils.ExceptionUtil;
 import com.netease.arctic.utils.TablePropertyUtil;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.resource.ResourceGroup;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.exception.OptimizingClosedException;
+import org.apache.amoro.server.manager.MetricManager;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.TaskFilesPersistence;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
+import org.apache.amoro.server.resource.OptimizerInstance;
+import org.apache.amoro.server.resource.QuotaProvider;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableRuntimeMeta;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingStatus.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingStatus.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingStatus.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingStatus.java
index 0e0926a64..7faca6626 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingStatus.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingStatus.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 public enum OptimizingStatus {
   FULL_OPTIMIZING("full", true),
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingTaskMeta.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingTaskMeta.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingTaskMeta.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingTaskMeta.java
index 97393c9a5..9e546eb3d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingTaskMeta.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingTaskMeta.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import java.util.Map;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingType.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingType.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingType.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingType.java
index 2b4dcac58..8fb5e41ef 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/OptimizingType.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/OptimizingType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 public enum OptimizingType {
   MINOR(OptimizingStatus.MINOR_OPTIMIZING),
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/SchedulingPolicy.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/SchedulingPolicy.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/SchedulingPolicy.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/SchedulingPolicy.java
index 1cd7f6110..ef91079e5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/SchedulingPolicy.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/SchedulingPolicy.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.api.BlockableOperation;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.resource.ResourceGroup;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.resource.ResourceGroup;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/TaskRuntime.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/TaskRuntime.java
index 0a4b124a8..721ce6a9f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/TaskRuntime.java
@@ -16,25 +16,25 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskId;
 import com.netease.arctic.api.OptimizingTaskResult;
-import com.netease.arctic.api.StateField;
 import com.netease.arctic.optimizing.RewriteFilesInput;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.dashboard.utils.OptimizingUtil;
-import com.netease.arctic.server.exception.IllegalTaskStateException;
-import com.netease.arctic.server.exception.OptimizingClosedException;
-import com.netease.arctic.server.exception.TaskRuntimeException;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
-import com.netease.arctic.server.persistence.StatedPersistentBase;
-import com.netease.arctic.server.persistence.TaskFilesPersistence;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
-import com.netease.arctic.server.resource.OptimizerThread;
 import com.netease.arctic.utils.SerializationUtil;
+import org.apache.amoro.api.StateField;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.dashboard.utils.OptimizingUtil;
+import org.apache.amoro.server.exception.IllegalTaskStateException;
+import org.apache.amoro.server.exception.OptimizingClosedException;
+import org.apache.amoro.server.exception.TaskRuntimeException;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
+import org.apache.amoro.server.persistence.StatedPersistentBase;
+import org.apache.amoro.server.persistence.TaskFilesPersistence;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
+import org.apache.amoro.server.resource.OptimizerThread;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/UnKeyedTableCommit.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/UnKeyedTableCommit.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/UnKeyedTableCommit.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/UnKeyedTableCommit.java
index 5a600293d..8af67aa03 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/UnKeyedTableCommit.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/UnKeyedTableCommit.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
-import static com.netease.arctic.server.ArcticServiceConstants.INVALID_SNAPSHOT_ID;
 import static org.apache.amoro.hive.op.UpdateHiveFiles.DELETE_UNTRACKED_HIVE_FILE;
 import static org.apache.amoro.hive.op.UpdateHiveFiles.SYNC_DATA_TO_HIVE;
 
@@ -28,9 +27,6 @@ import com.netease.arctic.op.SnapshotSummary;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
 import com.netease.arctic.properties.HiveTableProperties;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.exception.OptimizingCommitException;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.ContentFiles;
@@ -41,6 +37,9 @@ import org.apache.amoro.hive.table.SupportHive;
 import org.apache.amoro.hive.utils.HivePartitionUtil;
 import org.apache.amoro.hive.utils.HiveTableUtil;
 import org.apache.amoro.hive.utils.TableTypeUtil;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.exception.OptimizingCommitException;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.Table;
@@ -352,11 +351,11 @@ public class UnKeyedTableCommit {
   private static Set<String> getCommittedDataFilesFromSnapshotId(
       UnkeyedTable table, Long snapshotId) {
     long currentSnapshotId = IcebergTableUtil.getSnapshotId(table, true);
-    if (currentSnapshotId == INVALID_SNAPSHOT_ID) {
+    if (currentSnapshotId == ArcticServiceConstants.INVALID_SNAPSHOT_ID) {
       return Collections.emptySet();
     }
 
-    if (snapshotId == INVALID_SNAPSHOT_ID) {
+    if (snapshotId == ArcticServiceConstants.INVALID_SNAPSHOT_ID) {
       snapshotId = null;
     }
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/AutoCreateIcebergTagAction.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/AutoCreateIcebergTagAction.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/AutoCreateIcebergTagAction.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/AutoCreateIcebergTagAction.java
index f50c4898f..8f23d808f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/AutoCreateIcebergTagAction.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/AutoCreateIcebergTagAction.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
-import com.netease.arctic.api.config.TagConfiguration;
+import org.apache.amoro.api.config.TagConfiguration;
 import org.apache.iceberg.ManageSnapshots;
 import org.apache.iceberg.Snapshot;
 import org.apache.iceberg.Table;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/IcebergTableMaintainer.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/IcebergTableMaintainer.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/IcebergTableMaintainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/IcebergTableMaintainer.java
index e417fe878..5cd485356 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/IcebergTableMaintainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/IcebergTableMaintainer.java
@@ -16,20 +16,20 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import static org.apache.iceberg.relocated.com.google.common.primitives.Longs.min;
 
 import com.netease.arctic.api.CommitMetaProducer;
-import com.netease.arctic.api.config.DataExpirationConfig;
-import com.netease.arctic.api.config.TableConfiguration;
 import com.netease.arctic.io.ArcticFileIO;
 import com.netease.arctic.io.PathInfo;
 import com.netease.arctic.io.SupportsFileSystemOperations;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.utils.TableFileUtil;
+import org.apache.amoro.api.config.DataExpirationConfig;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.hadoop.fs.Path;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.ContentScanTask;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/MixedTableMaintainer.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/MixedTableMaintainer.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/MixedTableMaintainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/MixedTableMaintainer.java
index 20b919dc4..0c9f09237 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/MixedTableMaintainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/MixedTableMaintainer.java
@@ -16,18 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import static com.netease.arctic.utils.ArcticTableUtil.BLOB_TYPE_OPTIMIZED_SEQUENCE_EXIST;
 import static org.apache.iceberg.relocated.com.google.common.primitives.Longs.min;
 
 import com.netease.arctic.IcebergFileEntry;
-import com.netease.arctic.api.config.DataExpirationConfig;
 import com.netease.arctic.data.FileNameRules;
 import com.netease.arctic.scan.TableEntriesScan;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.utils.HiveLocationUtil;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.BaseTable;
 import com.netease.arctic.table.ChangeTable;
@@ -35,7 +31,11 @@ import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.ArcticTableUtil;
 import com.netease.arctic.utils.TablePropertyUtil;
+import org.apache.amoro.api.config.DataExpirationConfig;
 import org.apache.amoro.hive.utils.TableTypeUtil;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.utils.HiveLocationUtil;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.tuple.Pair;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/TableMaintainer.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/TableMaintainer.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/TableMaintainer.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/TableMaintainer.java
index c6db86478..575b5d375 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/TableMaintainer.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/maintainer/TableMaintainer.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.Table;
 
 /**
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/AbstractPartitionPlan.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/AbstractPartitionPlan.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/AbstractPartitionPlan.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/AbstractPartitionPlan.java
index d76fc6759..d251ca974 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/AbstractPartitionPlan.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/AbstractPartitionPlan.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
-import com.netease.arctic.api.config.OptimizingConfig;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.optimizing.RewriteFilesInput;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.ArcticTableUtil;
+import org.apache.amoro.api.config.OptimizingConfig;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.PartitionSpec;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/CommonPartitionEvaluator.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/CommonPartitionEvaluator.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/CommonPartitionEvaluator.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/CommonPartitionEvaluator.java
index d5c00ec07..ef59ac3d3 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/CommonPartitionEvaluator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/CommonPartitionEvaluator.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
-import com.netease.arctic.api.config.OptimizingConfig;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.api.config.OptimizingConfig;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.FileContent;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/IcebergPartitionPlan.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/IcebergPartitionPlan.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/IcebergPartitionPlan.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/IcebergPartitionPlan.java
index 4d9db0f28..4097d1b53 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/IcebergPartitionPlan.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/IcebergPartitionPlan.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.optimizing.IcebergRewriteExecutorFactory;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.util.Pair;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/MixedHivePartitionPlan.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/MixedHivePartitionPlan.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/MixedHivePartitionPlan.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/MixedHivePartitionPlan.java
index 11a31c5db..7895c2ccc 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/MixedHivePartitionPlan.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/MixedHivePartitionPlan.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.data.PrimaryKeyedFile;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.properties.HiveTableProperties;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
 import org.apache.amoro.hive.utils.HiveTableUtil;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.StructLike;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/MixedIcebergPartitionPlan.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/MixedIcebergPartitionPlan.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/MixedIcebergPartitionPlan.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/MixedIcebergPartitionPlan.java
index 1ab91567b..ae4117096 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/MixedIcebergPartitionPlan.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/MixedIcebergPartitionPlan.java
@@ -16,17 +16,17 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.data.DataTreeNode;
 import com.netease.arctic.data.PrimaryKeyedFile;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.utils.TablePropertyUtil;
 import org.apache.amoro.hive.optimizing.MixFormatRewriteExecutorFactory;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.FileContent;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/OptimizingEvaluator.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/OptimizingEvaluator.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/OptimizingEvaluator.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/OptimizingEvaluator.java
index 0665fd2b7..12d21ed8b 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/OptimizingEvaluator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/OptimizingEvaluator.java
@@ -16,23 +16,23 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.server.optimizing.scan.IcebergTableFileScanHelper;
-import com.netease.arctic.server.optimizing.scan.KeyedTableFileScanHelper;
-import com.netease.arctic.server.optimizing.scan.TableFileScanHelper;
-import com.netease.arctic.server.optimizing.scan.UnkeyedTableFileScanHelper;
-import com.netease.arctic.server.table.KeyedTableSnapshot;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableSnapshot;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.ArcticTableUtil;
 import com.netease.arctic.utils.TablePropertyUtil;
 import org.apache.amoro.hive.table.SupportHive;
 import org.apache.amoro.hive.utils.TableTypeUtil;
+import org.apache.amoro.server.optimizing.scan.IcebergTableFileScanHelper;
+import org.apache.amoro.server.optimizing.scan.KeyedTableFileScanHelper;
+import org.apache.amoro.server.optimizing.scan.TableFileScanHelper;
+import org.apache.amoro.server.optimizing.scan.UnkeyedTableFileScanHelper;
+import org.apache.amoro.server.table.KeyedTableSnapshot;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableSnapshot;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.expressions.Expression;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/OptimizingPlanner.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/OptimizingPlanner.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/OptimizingPlanner.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/OptimizingPlanner.java
index 119a3545a..d9f9efb2f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/OptimizingPlanner.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/OptimizingPlanner.java
@@ -16,18 +16,18 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.table.KeyedTableSnapshot;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.ArcticTableUtil;
 import com.netease.arctic.utils.ExpressionUtil;
 import org.apache.amoro.hive.table.SupportHive;
 import org.apache.amoro.hive.utils.TableTypeUtil;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.table.KeyedTableSnapshot;
+import org.apache.amoro.server.table.TableRuntime;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.expressions.Expression;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/PartitionEvaluator.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/PartitionEvaluator.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/PartitionEvaluator.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/PartitionEvaluator.java
index 46056e3b0..02d59b9a9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/PartitionEvaluator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/PartitionEvaluator.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
-import com.netease.arctic.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.OptimizingType;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.PartitionSpec;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/TaskDescriptor.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/TaskDescriptor.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/TaskDescriptor.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/TaskDescriptor.java
index fe3e3be81..ca8c06bfd 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/plan/TaskDescriptor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/plan/TaskDescriptor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.optimizing.RewriteFilesInput;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/IcebergTableFileScanHelper.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/IcebergTableFileScanHelper.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/IcebergTableFileScanHelper.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/IcebergTableFileScanHelper.java
index a444a78ac..dff9f1592 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/IcebergTableFileScanHelper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/IcebergTableFileScanHelper.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.scan;
+package org.apache.amoro.server.optimizing.scan;
 
-import com.netease.arctic.server.ArcticServiceConstants;
+import org.apache.amoro.server.ArcticServiceConstants;
 import org.apache.iceberg.FileScanTask;
 import org.apache.iceberg.Table;
 import org.apache.iceberg.expressions.Expression;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/KeyedTableFileScanHelper.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/KeyedTableFileScanHelper.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/KeyedTableFileScanHelper.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/KeyedTableFileScanHelper.java
index 0eead65dd..05d4fe4a8 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/KeyedTableFileScanHelper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/KeyedTableFileScanHelper.java
@@ -16,21 +16,21 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.scan;
+package org.apache.amoro.server.optimizing.scan;
 
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.data.DataTreeNode;
 import com.netease.arctic.data.DefaultKeyedFile;
 import com.netease.arctic.data.FileNameRules;
 import com.netease.arctic.scan.ChangeTableIncrementalScan;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.table.KeyedTableSnapshot;
 import com.netease.arctic.table.ChangeTable;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.ArcticTableUtil;
 import com.netease.arctic.utils.CompatiblePropertyUtil;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.table.KeyedTableSnapshot;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.FileScanTask;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/TableFileScanHelper.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/TableFileScanHelper.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/TableFileScanHelper.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/TableFileScanHelper.java
index 2e2f4acef..60a0c53b7 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/TableFileScanHelper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/TableFileScanHelper.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.scan;
+package org.apache.amoro.server.optimizing.scan;
 
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/UnkeyedTableFileScanHelper.java b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/UnkeyedTableFileScanHelper.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/UnkeyedTableFileScanHelper.java
rename to ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/UnkeyedTableFileScanHelper.java
index 00c0cab34..e0fbc6aea 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/scan/UnkeyedTableFileScanHelper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/optimizing/scan/UnkeyedTableFileScanHelper.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.scan;
+package org.apache.amoro.server.optimizing.scan;
 
 import com.netease.arctic.data.DefaultKeyedFile;
 import com.netease.arctic.table.UnkeyedTable;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/NestedSqlSession.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/NestedSqlSession.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/NestedSqlSession.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/NestedSqlSession.java
index 3663c455e..78165d222 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/NestedSqlSession.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/NestedSqlSession.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence;
+package org.apache.amoro.server.persistence;
 
 import org.apache.ibatis.session.SqlSession;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/PersistentBase.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/PersistentBase.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/PersistentBase.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/PersistentBase.java
index 73ba81293..971c8a5dc 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/PersistentBase.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/PersistentBase.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence;
+package org.apache.amoro.server.persistence;
 
-import com.netease.arctic.server.exception.ArcticRuntimeException;
-import com.netease.arctic.server.exception.PersistenceException;
+import org.apache.amoro.server.exception.ArcticRuntimeException;
+import org.apache.amoro.server.exception.PersistenceException;
 import org.apache.ibatis.session.TransactionIsolationLevel;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/SqlSessionFactoryProvider.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/SqlSessionFactoryProvider.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/SqlSessionFactoryProvider.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/SqlSessionFactoryProvider.java
index 92b185d57..5627bce3d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/SqlSessionFactoryProvider.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/SqlSessionFactoryProvider.java
@@ -16,18 +16,18 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence;
+package org.apache.amoro.server.persistence;
 
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.persistence.mapper.ApiTokensMapper;
-import com.netease.arctic.server.persistence.mapper.CatalogMetaMapper;
-import com.netease.arctic.server.persistence.mapper.OptimizerMapper;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
-import com.netease.arctic.server.persistence.mapper.PlatformFileMapper;
-import com.netease.arctic.server.persistence.mapper.ResourceMapper;
-import com.netease.arctic.server.persistence.mapper.TableBlockerMapper;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.persistence.mapper.ApiTokensMapper;
+import org.apache.amoro.server.persistence.mapper.CatalogMetaMapper;
+import org.apache.amoro.server.persistence.mapper.OptimizerMapper;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
+import org.apache.amoro.server.persistence.mapper.PlatformFileMapper;
+import org.apache.amoro.server.persistence.mapper.ResourceMapper;
+import org.apache.amoro.server.persistence.mapper.TableBlockerMapper;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
 import org.apache.commons.dbcp2.BasicDataSource;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.pool2.impl.BaseObjectPoolConfig;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/StatedPersistentBase.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/StatedPersistentBase.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/StatedPersistentBase.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/StatedPersistentBase.java
index ad0ffcbac..6acc4b984 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/StatedPersistentBase.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/StatedPersistentBase.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence;
+package org.apache.amoro.server.persistence;
 
-import com.netease.arctic.api.StateField;
+import org.apache.amoro.api.StateField;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.lang.reflect.Field;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/TaskFilesPersistence.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/TaskFilesPersistence.java
similarity index 90%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/TaskFilesPersistence.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/TaskFilesPersistence.java
index e03498ff6..d6c38f357 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/TaskFilesPersistence.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/TaskFilesPersistence.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence;
+package org.apache.amoro.server.persistence;
 
 import com.netease.arctic.optimizing.RewriteFilesInput;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
-import com.netease.arctic.server.optimizing.TaskRuntime;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
-import com.netease.arctic.server.utils.CompressUtil;
 import com.netease.arctic.utils.SerializationUtil;
+import org.apache.amoro.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
+import org.apache.amoro.server.utils.CompressUtil;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/JsonObjectConverter.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/JsonObjectConverter.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/converter/JsonObjectConverter.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/converter/JsonObjectConverter.java
index d055d2804..4815a87fe 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/JsonObjectConverter.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/JsonObjectConverter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.converter;
+package org.apache.amoro.server.persistence.converter;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.DeserializationFeature;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/List2StringConverter.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/List2StringConverter.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/converter/List2StringConverter.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/converter/List2StringConverter.java
index b7cb1ec46..efffb8792 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/List2StringConverter.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/List2StringConverter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.converter;
+package org.apache.amoro.server.persistence.converter;
 
 import org.apache.ibatis.type.JdbcType;
 import org.apache.ibatis.type.MappedJdbcTypes;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Long2TsConverter.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Long2TsConverter.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Long2TsConverter.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Long2TsConverter.java
index 89d761e6f..621089a21 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Long2TsConverter.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Long2TsConverter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.converter;
+package org.apache.amoro.server.persistence.converter;
 
 import org.apache.ibatis.type.JdbcType;
 import org.apache.ibatis.type.LongTypeHandler;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Map2StringConverter.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Map2StringConverter.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Map2StringConverter.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Map2StringConverter.java
index a18adad25..6255a0204 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Map2StringConverter.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Map2StringConverter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.converter;
+package org.apache.amoro.server.persistence.converter;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/MapLong2StringConverter.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/MapLong2StringConverter.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/converter/MapLong2StringConverter.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/converter/MapLong2StringConverter.java
index bebdf475b..c1de0410d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/MapLong2StringConverter.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/MapLong2StringConverter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.converter;
+package org.apache.amoro.server.persistence.converter;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Object2ByteArrayConvert.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Object2ByteArrayConvert.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Object2ByteArrayConvert.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Object2ByteArrayConvert.java
index ced4d24da..9db642f95 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/converter/Object2ByteArrayConvert.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/converter/Object2ByteArrayConvert.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.converter;
+package org.apache.amoro.server.persistence.converter;
 
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.persistence.SqlSessionFactoryProvider;
-import com.netease.arctic.server.utils.CompressUtil;
 import com.netease.arctic.utils.SerializationUtil;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.persistence.SqlSessionFactoryProvider;
+import org.apache.amoro.server.utils.CompressUtil;
 import org.apache.ibatis.type.JdbcType;
 import org.apache.ibatis.type.TypeHandler;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/ApiTokensMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/ApiTokensMapper.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/ApiTokensMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/ApiTokensMapper.java
index 5655ed00c..2560fa855 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/ApiTokensMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/ApiTokensMapper.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
-import com.netease.arctic.server.dashboard.model.ApiTokens;
+import org.apache.amoro.server.dashboard.model.ApiTokens;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/CatalogMetaMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/CatalogMetaMapper.java
similarity index 87%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/CatalogMetaMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/CatalogMetaMapper.java
index 2a21162b8..1bf0f265a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/CatalogMetaMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/CatalogMetaMapper.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.server.persistence.converter.Map2StringConverter;
+import org.apache.amoro.server.persistence.converter.Map2StringConverter;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
@@ -82,10 +82,10 @@ public interface CatalogMetaMapper {
           + " (catalog_name, catalog_metastore, storage_configs, auth_configs, catalog_properties)"
           + " VALUES (#{catalogMeta.catalogName}, #{catalogMeta.catalogType},"
           + " #{catalogMeta.storageConfigs,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter},"
-          + " #{catalogMeta.authConfigs, typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter},"
+          + " #{catalogMeta.authConfigs, typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter},"
           + " #{catalogMeta.catalogProperties,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter})")
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter})")
   void insertCatalog(@Param("catalogMeta") CatalogMeta catalogMeta);
 
   @Delete(
@@ -100,11 +100,11 @@ public interface CatalogMetaMapper {
           + TABLE_NAME
           + " SET catalog_metastore = #{catalogMeta.catalogType},"
           + " storage_configs = #{catalogMeta.storageConfigs,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter},"
           + " auth_configs=#{catalogMeta.authConfigs,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter},"
           + " catalog_properties=#{catalogMeta.catalogProperties,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter}"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter}"
           + " WHERE catalog_name = #{catalogMeta.catalogName}")
   Integer updateCatalog(@Param("catalogMeta") CatalogMeta catalogMeta);
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/OptimizerMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/OptimizerMapper.java
similarity index 86%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/OptimizerMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/OptimizerMapper.java
index aaecec048..3a0c10d5d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/OptimizerMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/OptimizerMapper.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
-import com.netease.arctic.server.persistence.converter.Long2TsConverter;
-import com.netease.arctic.server.persistence.converter.Map2StringConverter;
-import com.netease.arctic.server.resource.OptimizerInstance;
+import org.apache.amoro.server.persistence.converter.Long2TsConverter;
+import org.apache.amoro.server.persistence.converter.Map2StringConverter;
+import org.apache.amoro.server.resource.OptimizerInstance;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
@@ -40,10 +40,10 @@ public interface OptimizerMapper {
       "INSERT INTO optimizer (token, resource_id, group_name,container_name, start_time, touch_time, "
           + "thread_count, total_memory, properties) VALUES (#{optimizer.token}, #{optimizer.resourceId, jdbcType=VARCHAR},"
           + " #{optimizer.groupName}, #{optimizer.containerName},"
-          + " #{optimizer.startTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
-          + " #{optimizer.touchTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " #{optimizer.startTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
+          + " #{optimizer.touchTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " #{optimizer.threadCount}, #{optimizer.memoryMb},"
-          + " #{optimizer.properties, typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter})")
+          + " #{optimizer.properties, typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter})")
   void insertOptimizer(@Param("optimizer") OptimizerInstance optimizer);
 
   @Update("UPDATE optimizer SET touch_time = CURRENT_TIMESTAMP WHERE token = #{token}")
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/OptimizingMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/OptimizingMapper.java
similarity index 81%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/OptimizingMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/OptimizingMapper.java
index 4b2fc40a8..ff48668bf 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/OptimizingMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/OptimizingMapper.java
@@ -16,21 +16,21 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.optimizing.RewriteFilesInput;
-import com.netease.arctic.server.optimizing.MetricsSummary;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingProcessMeta;
-import com.netease.arctic.server.optimizing.OptimizingTaskMeta;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.optimizing.TaskRuntime;
-import com.netease.arctic.server.persistence.converter.JsonObjectConverter;
-import com.netease.arctic.server.persistence.converter.Long2TsConverter;
-import com.netease.arctic.server.persistence.converter.Map2StringConverter;
-import com.netease.arctic.server.persistence.converter.MapLong2StringConverter;
-import com.netease.arctic.server.persistence.converter.Object2ByteArrayConvert;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.optimizing.MetricsSummary;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingProcessMeta;
+import org.apache.amoro.server.optimizing.OptimizingTaskMeta;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.persistence.converter.JsonObjectConverter;
+import org.apache.amoro.server.persistence.converter.Long2TsConverter;
+import org.apache.amoro.server.persistence.converter.Map2StringConverter;
+import org.apache.amoro.server.persistence.converter.MapLong2StringConverter;
+import org.apache.amoro.server.persistence.converter.Object2ByteArrayConvert;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
@@ -56,10 +56,10 @@ public interface OptimizingMapper {
           + " to_sequence) VALUES (#{table.id}, #{table.catalog},"
           + " #{table.database}, #{table.tableName}, #{processId}, #{targetSnapshotId}, #{targetChangeSnapshotId},"
           + " #{status}, #{optimizingType},"
-          + " #{planTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
-          + " #{summary, typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter},"
-          + " #{fromSequence, typeHandler=com.netease.arctic.server.persistence.converter.MapLong2StringConverter},"
-          + " #{toSequence, typeHandler=com.netease.arctic.server.persistence.converter.MapLong2StringConverter}"
+          + " #{planTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
+          + " #{summary, typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter},"
+          + " #{fromSequence, typeHandler=org.apache.amoro.server.persistence.converter.MapLong2StringConverter},"
+          + " #{toSequence, typeHandler=org.apache.amoro.server.persistence.converter.MapLong2StringConverter}"
           + ")")
   void insertOptimizingProcess(
       @Param("table") ServerTableIdentifier tableIdentifier,
@@ -75,8 +75,8 @@ public interface OptimizingMapper {
 
   @Update(
       "UPDATE table_optimizing_process SET status = #{optimizingStatus},"
-          + " end_time = #{endTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter}, "
-          + "summary = #{summary, typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter}, "
+          + " end_time = #{endTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter}, "
+          + "summary = #{summary, typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter}, "
           + "fail_reason = #{failedReason, jdbcType=VARCHAR}"
           + " WHERE table_id = #{tableId} AND process_id = #{processId}")
   void updateOptimizingProcess(
@@ -132,14 +132,14 @@ public interface OptimizingMapper {
     "<foreach collection='taskRuntimes' item='taskRuntime' index='index' separator=','>",
     "(#{taskRuntime.taskId.processId}, #{taskRuntime.taskId.taskId}, #{taskRuntime.runTimes},"
         + " #{taskRuntime.tableId}, #{taskRuntime.partition}, "
-        + "#{taskRuntime.startTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
-        + " #{taskRuntime.endTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter}, "
+        + "#{taskRuntime.startTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
+        + " #{taskRuntime.endTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter}, "
         + "#{taskRuntime.status}, #{taskRuntime.failReason, jdbcType=VARCHAR},"
         + " #{taskRuntime.token, jdbcType=VARCHAR}, #{taskRuntime.threadId, "
         + "jdbcType=INTEGER}, #{taskRuntime.output, jdbcType=BLOB, "
-        + " typeHandler=com.netease.arctic.server.persistence.converter.Object2ByteArrayConvert},"
-        + " #{taskRuntime.summary, typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter},"
-        + "#{taskRuntime.properties, typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter})",
+        + " typeHandler=org.apache.amoro.server.persistence.converter.Object2ByteArrayConvert},"
+        + " #{taskRuntime.summary, typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter},"
+        + "#{taskRuntime.properties, typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter})",
     "</foreach>",
     "</script>"
   })
@@ -208,19 +208,19 @@ public interface OptimizingMapper {
   @Update(
       "UPDATE task_runtime SET retry_num = #{taskRuntime.runTimes}, "
           + "start_time = #{taskRuntime.startTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " end_time = #{taskRuntime.endTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " cost_time = #{taskRuntime.costTime}, status = #{taskRuntime.status},"
           + " fail_reason = #{taskRuntime.failReason, jdbcType=VARCHAR},"
           + " optimizer_token = #{taskRuntime.token, jdbcType=VARCHAR},"
           + " thread_id = #{taskRuntime.threadId, jdbcType=INTEGER},"
           + " rewrite_output = #{taskRuntime.output, jdbcType=BLOB,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Object2ByteArrayConvert},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Object2ByteArrayConvert},"
           + " metrics_summary = #{taskRuntime.summary,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter},"
           + " properties = #{taskRuntime.properties,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter}"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter}"
           + " WHERE process_id = #{taskRuntime.taskId.processId} AND "
           + "task_id = #{taskRuntime.taskId.taskId}")
   void updateTaskRuntime(@Param("taskRuntime") TaskRuntime taskRuntime);
@@ -231,7 +231,7 @@ public interface OptimizingMapper {
   /** Optimizing rewrite input and output operations below */
   @Update(
       "UPDATE table_optimizing_process SET rewrite_input = #{input, jdbcType=BLOB,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Object2ByteArrayConvert}"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Object2ByteArrayConvert}"
           + " WHERE process_id = #{processId}")
   void updateProcessInputFiles(
       @Param("processId") long processId, @Param("input") Map<Integer, RewriteFilesInput> input);
@@ -260,8 +260,8 @@ public interface OptimizingMapper {
       "INSERT INTO optimizing_task_quota (process_id, task_id, retry_num, table_id, start_time, end_time,"
           + " fail_reason) VALUES (#{taskQuota.processId}, #{taskQuota.taskId}, #{taskQuota.retryNum},"
           + " #{taskQuota.tableId},"
-          + " #{taskQuota.startTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter}, "
-          + " #{taskQuota.endTime, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " #{taskQuota.startTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter}, "
+          + " #{taskQuota.endTime, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " #{taskQuota.failReason, jdbcType=VARCHAR})")
   void insertTaskQuota(@Param("taskQuota") TaskRuntime.TaskQuota taskQuota);
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/PlatformFileMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/PlatformFileMapper.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/PlatformFileMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/PlatformFileMapper.java
index e489f558d..a8163b3a7 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/PlatformFileMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/PlatformFileMapper.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
-import com.netease.arctic.server.dashboard.model.PlatformFileInfo;
+import org.apache.amoro.server.dashboard.model.PlatformFileInfo;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Options;
 import org.apache.ibatis.annotations.Param;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/ResourceMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/ResourceMapper.java
similarity index 86%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/ResourceMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/ResourceMapper.java
index 835dedf76..a379e9163 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/ResourceMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/ResourceMapper.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
-import com.netease.arctic.api.resource.Resource;
-import com.netease.arctic.api.resource.ResourceGroup;
-import com.netease.arctic.server.persistence.converter.Long2TsConverter;
-import com.netease.arctic.server.persistence.converter.Map2StringConverter;
-import com.netease.arctic.server.resource.OptimizerInstance;
+import org.apache.amoro.api.resource.Resource;
+import org.apache.amoro.api.resource.ResourceGroup;
+import org.apache.amoro.server.persistence.converter.Long2TsConverter;
+import org.apache.amoro.server.persistence.converter.Map2StringConverter;
+import org.apache.amoro.server.resource.OptimizerInstance;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
@@ -75,14 +75,14 @@ public interface ResourceMapper {
   @Update(
       "UPDATE resource_group SET container_name = #{resourceGroup.container},"
           + " properties = #{resourceGroup.properties,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter}"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter}"
           + " WHERE group_name = #{resourceGroup.name}")
   void updateResourceGroup(@Param("resourceGroup") ResourceGroup resourceGroup);
 
   @Insert(
       "INSERT INTO resource_group (group_name, container_name, properties)"
           + " VALUES (#{resourceGroup.name}, #{resourceGroup.container},"
-          + " #{resourceGroup.properties, typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter})")
+          + " #{resourceGroup.properties, typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter})")
   void insertResourceGroup(@Param("resourceGroup") ResourceGroup resourceGroup);
 
   @Delete("DELETE FROM resource_group WHERE group_name = #{name}")
@@ -92,7 +92,7 @@ public interface ResourceMapper {
       "INSERT INTO resource (resource_id, group_name, container_name, thread_count, total_memory, properties)"
           + " VALUES (#{resource.resourceId}, #{resource.groupName}, #{resource.containerName},"
           + " #{resource.threadCount}, #{resource.memoryMb},"
-          + " #{resource.properties, typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter})")
+          + " #{resource.properties, typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter})")
   void insertResource(@Param("resource") Resource resource);
 
   @Delete("DELETE FROM resource WHERE resource_id = #{resourceId}")
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/TableBlockerMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/TableBlockerMapper.java
similarity index 79%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/TableBlockerMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/TableBlockerMapper.java
index cdd05acfe..2b772cfa5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/TableBlockerMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/TableBlockerMapper.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.server.persistence.converter.List2StringConverter;
-import com.netease.arctic.server.persistence.converter.Long2TsConverter;
-import com.netease.arctic.server.persistence.converter.Map2StringConverter;
-import com.netease.arctic.server.table.blocker.TableBlocker;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.persistence.converter.List2StringConverter;
+import org.apache.amoro.server.persistence.converter.Long2TsConverter;
+import org.apache.amoro.server.persistence.converter.Map2StringConverter;
+import org.apache.amoro.server.table.blocker.TableBlocker;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Options;
@@ -44,7 +44,7 @@ public interface TableBlockerMapper {
           + " "
           + "WHERE catalog_name = #{tableIdentifier.catalog} AND db_name = #{tableIdentifier.database} "
           + "AND table_name = #{tableIdentifier.tableName} "
-          + "AND expiration_time > #{now, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter}")
+          + "AND expiration_time > #{now, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter}")
   @Results({
     @Result(property = "blockerId", column = "blocker_id"),
     @Result(property = "tableIdentifier.catalog", column = "catalog_name"),
@@ -70,7 +70,7 @@ public interface TableBlockerMapper {
           + TABLE_NAME
           + " "
           + "WHERE blocker_id = #{blockerId} "
-          + "AND expiration_time > #{now, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter}")
+          + "AND expiration_time > #{now, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter}")
   @Results({
     @Result(property = "blockerId", column = "blocker_id"),
     @Result(property = "tableIdentifier.catalog", column = "catalog_name"),
@@ -97,10 +97,10 @@ public interface TableBlockerMapper {
           + "#{blocker.tableIdentifier.catalog},"
           + "#{blocker.tableIdentifier.database},"
           + "#{blocker.tableIdentifier.tableName},"
-          + "#{blocker.operations,typeHandler=com.netease.arctic.server.persistence.converter.List2StringConverter},"
-          + "#{blocker.createTime,typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
-          + "#{blocker.expirationTime,typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
-          + "#{blocker.properties,typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter}"
+          + "#{blocker.operations,typeHandler=org.apache.amoro.server.persistence.converter.List2StringConverter},"
+          + "#{blocker.createTime,typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
+          + "#{blocker.expirationTime,typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
+          + "#{blocker.properties,typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter}"
           + ")")
   @Options(useGeneratedKeys = true, keyProperty = "blocker.blockerId")
   void insertBlocker(@Param("blocker") TableBlocker blocker);
@@ -110,7 +110,7 @@ public interface TableBlockerMapper {
           + TABLE_NAME
           + " SET "
           + "expiration_time = #{expirationTime, "
-          + "typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter} "
+          + "typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter} "
           + "WHERE blocker_id = #{blockerId}")
   void updateBlockerExpirationTime(
       @Param("blockerId") long blockerId, @Param("expirationTime") long expirationTime);
@@ -124,7 +124,7 @@ public interface TableBlockerMapper {
           + " "
           + "WHERE catalog_name = #{tableIdentifier.catalog} AND db_name = #{tableIdentifier.database} "
           + "AND table_name = #{tableIdentifier.tableName} "
-          + "AND expiration_time <= #{now, typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter}")
+          + "AND expiration_time <= #{now, typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter}")
   int deleteExpiredBlockers(
       @Param("tableIdentifier") ServerTableIdentifier tableIdentifier, @Param("now") long now);
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/TableMetaMapper.java b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/TableMetaMapper.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/TableMetaMapper.java
rename to ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/TableMetaMapper.java
index 437d882f3..b01e4ff4c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/mapper/TableMetaMapper.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/persistence/mapper/TableMetaMapper.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.persistence.mapper;
+package org.apache.amoro.server.persistence.mapper;
 
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.server.persistence.converter.JsonObjectConverter;
-import com.netease.arctic.server.persistence.converter.Long2TsConverter;
-import com.netease.arctic.server.persistence.converter.Map2StringConverter;
-import com.netease.arctic.server.persistence.converter.MapLong2StringConverter;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableRuntimeMeta;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.persistence.converter.JsonObjectConverter;
+import org.apache.amoro.server.persistence.converter.Long2TsConverter;
+import org.apache.amoro.server.persistence.converter.Map2StringConverter;
+import org.apache.amoro.server.persistence.converter.MapLong2StringConverter;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableRuntimeMeta;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Options;
@@ -155,7 +155,7 @@ public interface TableMetaMapper {
           + " #{tableMeta.krbKeytab, jdbcType=VARCHAR},"
           + " #{tableMeta.krbConf, jdbcType=VARCHAR},"
           + " #{tableMeta.krbPrincipal, jdbcType=VARCHAR},"
-          + " #{tableMeta.properties, typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter},"
+          + " #{tableMeta.properties, typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter},"
           + " #{tableMeta.metaVersion}"
           + " )")
   void insertTableMeta(@Param("tableMeta") TableMetadata tableMeta);
@@ -165,7 +165,7 @@ public interface TableMetaMapper {
 
   @Update(
       "UPDATE table_metadata SET properties ="
-          + " #{tableMeta.properties, typeHandler=com.netease.arctic.server.persistence.converter.Map2StringConverter},"
+          + " #{tableMeta.properties, typeHandler=org.apache.amoro.server.persistence.converter.Map2StringConverter},"
           + " meta_version=meta_version + 1 "
           + " WHERE table_id = #{tableId} and meta_version = #{tableMeta.metaVersion} ")
   int commitTableChange(
@@ -316,20 +316,20 @@ public interface TableMetaMapper {
           + " last_optimized_snapshotId = #{runtime.lastOptimizedSnapshotId},"
           + " last_optimized_change_snapshotId = #{runtime.lastOptimizedChangeSnapshotId},"
           + " last_major_optimizing_time = #{runtime.lastMajorOptimizingTime, "
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " last_minor_optimizing_time = #{runtime.lastMinorOptimizingTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " last_full_optimizing_time = #{runtime.lastFullOptimizingTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " optimizing_status = #{runtime.optimizingStatus},"
           + " optimizing_status_start_time = #{runtime.currentStatusStartTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " optimizing_process_id = #{runtime.processId},"
           + " optimizer_group = #{runtime.optimizerGroup},"
           + " table_config = #{runtime.tableConfiguration,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter},"
           + " pending_input = #{runtime.pendingInput, jdbcType=VARCHAR,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter}"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter}"
           + " WHERE table_id = #{runtime.tableIdentifier.id}")
   void updateTableRuntime(@Param("runtime") TableRuntime runtime);
 
@@ -347,19 +347,19 @@ public interface TableMetaMapper {
           + ".currentSnapshotId},"
           + " #{runtime.currentChangeSnapshotId}, #{runtime.lastOptimizedSnapshotId},"
           + " #{runtime.lastOptimizedChangeSnapshotId}, #{runtime.lastMajorOptimizingTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " #{runtime.lastMinorOptimizingTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " #{runtime.lastFullOptimizingTime,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " #{runtime.optimizingStatus},"
           + " #{runtime.currentStatusStartTime, "
-          + " typeHandler=com.netease.arctic.server.persistence.converter.Long2TsConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.Long2TsConverter},"
           + " #{runtime.processId}, #{runtime.optimizerGroup},"
           + " #{runtime.tableConfiguration,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter},"
+          + " typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter},"
           + " #{runtime.pendingInput, jdbcType=VARCHAR,"
-          + " typeHandler=com.netease.arctic.server.persistence.converter.JsonObjectConverter})")
+          + " typeHandler=org.apache.amoro.server.persistence.converter.JsonObjectConverter})")
   void insertTableRuntime(@Param("runtime") TableRuntime runtime);
 
   @Select(
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/ContainerMetadata.java b/ams/server/src/main/java/org/apache/amoro/server/resource/ContainerMetadata.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/resource/ContainerMetadata.java
rename to ams/server/src/main/java/org/apache/amoro/server/resource/ContainerMetadata.java
index e2e609a3c..4f49a2e91 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/ContainerMetadata.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/resource/ContainerMetadata.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.resource;
+package org.apache.amoro.server.resource;
 
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerInstance.java b/ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerInstance.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerInstance.java
rename to ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerInstance.java
index 3985c2b86..c6a6d74c4 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerInstance.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerInstance.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.resource;
+package org.apache.amoro.server.resource;
 
 import com.netease.arctic.api.OptimizerRegisterInfo;
-import com.netease.arctic.api.resource.Resource;
+import org.apache.amoro.api.resource.Resource;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
 import java.util.UUID;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerManager.java b/ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerManager.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerManager.java
index bcaea0486..f81ee5333 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerManager.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.resource;
+package org.apache.amoro.server.resource;
 
-import com.netease.arctic.api.resource.ResourceManager;
+import org.apache.amoro.api.resource.ResourceManager;
 
 import java.util.List;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerThread.java b/ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerThread.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerThread.java
rename to ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerThread.java
index 22240e655..4f4af57a1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/OptimizerThread.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/resource/OptimizerThread.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.resource;
+package org.apache.amoro.server.resource;
 
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/QuotaProvider.java b/ams/server/src/main/java/org/apache/amoro/server/resource/QuotaProvider.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/resource/QuotaProvider.java
rename to ams/server/src/main/java/org/apache/amoro/server/resource/QuotaProvider.java
index c2c86beff..bcc6a81f4 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/QuotaProvider.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/resource/QuotaProvider.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.resource;
+package org.apache.amoro.server.resource;
 
 /** Quota information provider, used for optimizing plan */
 public interface QuotaProvider {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/ResourceContainers.java b/ams/server/src/main/java/org/apache/amoro/server/resource/ResourceContainers.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/resource/ResourceContainers.java
rename to ams/server/src/main/java/org/apache/amoro/server/resource/ResourceContainers.java
index 32633b827..246de9bcf 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/ResourceContainers.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/resource/ResourceContainers.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.resource;
+package org.apache.amoro.server.resource;
 
-import com.netease.arctic.api.resource.ResourceContainer;
+import org.apache.amoro.api.resource.ResourceContainer;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/BasicTableSnapshot.java b/ams/server/src/main/java/org/apache/amoro/server/table/BasicTableSnapshot.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/table/BasicTableSnapshot.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/BasicTableSnapshot.java
index 8d9306712..5d5d3a4ba 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/BasicTableSnapshot.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/BasicTableSnapshot.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 public class BasicTableSnapshot implements TableSnapshot {
   private final long snapshotId;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/DefaultTableService.java b/ams/server/src/main/java/org/apache/amoro/server/table/DefaultTableService.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/table/DefaultTableService.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/DefaultTableService.java
index 0bffc2c1c..997fc474e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/DefaultTableService.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/DefaultTableService.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.NoSuchTableException;
@@ -25,25 +25,25 @@ import com.netease.arctic.TableIDWithFormat;
 import com.netease.arctic.api.BlockableOperation;
 import com.netease.arctic.api.Blocker;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableIdentifier;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.catalog.CatalogBuilder;
-import com.netease.arctic.server.catalog.ExternalCatalog;
-import com.netease.arctic.server.catalog.InternalCatalog;
-import com.netease.arctic.server.catalog.ServerCatalog;
-import com.netease.arctic.server.exception.AlreadyExistsException;
-import com.netease.arctic.server.exception.IllegalMetadataException;
-import com.netease.arctic.server.exception.ObjectNotExistsException;
-import com.netease.arctic.server.manager.MetricManager;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.persistence.StatedPersistentBase;
-import com.netease.arctic.server.persistence.mapper.CatalogMetaMapper;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
-import com.netease.arctic.server.table.blocker.TableBlocker;
 import com.netease.arctic.utils.TablePropertyUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.catalog.CatalogBuilder;
+import org.apache.amoro.server.catalog.ExternalCatalog;
+import org.apache.amoro.server.catalog.InternalCatalog;
+import org.apache.amoro.server.catalog.ServerCatalog;
+import org.apache.amoro.server.exception.AlreadyExistsException;
+import org.apache.amoro.server.exception.IllegalMetadataException;
+import org.apache.amoro.server.exception.ObjectNotExistsException;
+import org.apache.amoro.server.manager.MetricManager;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.persistence.StatedPersistentBase;
+import org.apache.amoro.server.persistence.mapper.CatalogMetaMapper;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
+import org.apache.amoro.server.table.blocker.TableBlocker;
 import org.apache.commons.lang.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/KeyedTableSnapshot.java b/ams/server/src/main/java/org/apache/amoro/server/table/KeyedTableSnapshot.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/table/KeyedTableSnapshot.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/KeyedTableSnapshot.java
index c99bda3f2..99d314625 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/KeyedTableSnapshot.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/KeyedTableSnapshot.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 public class KeyedTableSnapshot implements TableSnapshot {
   private final long baseSnapshotId;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/RuntimeHandlerChain.java b/ams/server/src/main/java/org/apache/amoro/server/table/RuntimeHandlerChain.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/table/RuntimeHandlerChain.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/RuntimeHandlerChain.java
index 0aa95e40f..c37330250 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/RuntimeHandlerChain.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/RuntimeHandlerChain.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableManager.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableManager.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableManager.java
index 954e502b0..1325027a0 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableManager.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.ServerTableIdentifier;
+import org.apache.amoro.api.ServerTableIdentifier;
 
 public interface TableManager extends TableRuntimeHandler {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableMetadata.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableMetadata.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableMetadata.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableMetadata.java
index 62ddcd87f..ad8705527 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableMetadata.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableMetadata.java
@@ -16,19 +16,19 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 import static com.netease.arctic.table.PrimaryKeySpec.PRIMARY_KEY_COLUMN_JOIN_DELIMITER;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableMeta;
 import com.netease.arctic.properties.CatalogMetaProperties;
 import com.netease.arctic.properties.MetaTableProperties;
-import com.netease.arctic.server.dashboard.utils.PropertiesUtil;
 import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.table.TableMetaStore;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.dashboard.utils.PropertiesUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableMetrics.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableMetrics.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableMetrics.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableMetrics.java
index 361cd0d01..e547159ec 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableMetrics.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableMetrics.java
@@ -16,17 +16,17 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
-import static com.netease.arctic.api.metrics.MetricDefine.defineGauge;
+import static org.apache.amoro.api.metrics.MetricDefine.defineGauge;
 
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.metrics.Gauge;
-import com.netease.arctic.api.metrics.Metric;
-import com.netease.arctic.api.metrics.MetricDefine;
-import com.netease.arctic.api.metrics.MetricKey;
-import com.netease.arctic.server.metrics.MetricRegistry;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.metrics.Gauge;
+import org.apache.amoro.api.metrics.Metric;
+import org.apache.amoro.api.metrics.MetricDefine;
+import org.apache.amoro.api.metrics.MetricKey;
+import org.apache.amoro.server.metrics.MetricRegistry;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableRuntime.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableRuntime.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableRuntime.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableRuntime.java
index 040a18345..6408fbeca 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableRuntime.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableRuntime.java
@@ -16,32 +16,32 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.BlockableOperation;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.StateField;
-import com.netease.arctic.api.config.OptimizingConfig;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.exception.BlockerConflictException;
-import com.netease.arctic.server.exception.ObjectNotExistsException;
-import com.netease.arctic.server.metrics.MetricRegistry;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.optimizing.TaskRuntime;
-import com.netease.arctic.server.optimizing.plan.OptimizingEvaluator;
-import com.netease.arctic.server.persistence.StatedPersistentBase;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
-import com.netease.arctic.server.persistence.mapper.TableBlockerMapper;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
-import com.netease.arctic.server.table.blocker.TableBlocker;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.blocker.RenewableBlocker;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.StateField;
+import org.apache.amoro.api.config.OptimizingConfig;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.exception.BlockerConflictException;
+import org.apache.amoro.server.exception.ObjectNotExistsException;
+import org.apache.amoro.server.metrics.MetricRegistry;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.optimizing.plan.OptimizingEvaluator;
+import org.apache.amoro.server.persistence.StatedPersistentBase;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
+import org.apache.amoro.server.persistence.mapper.TableBlockerMapper;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
+import org.apache.amoro.server.table.blocker.TableBlocker;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.iceberg.Snapshot;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableRuntimeHandler.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableRuntimeHandler.java
similarity index 87%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableRuntimeHandler.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableRuntimeHandler.java
index 16a4cc8b2..3acac34b4 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableRuntimeHandler.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableRuntimeHandler.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
 
 public interface TableRuntimeHandler {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableRuntimeMeta.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableRuntimeMeta.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableRuntimeMeta.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableRuntimeMeta.java
index c1f525f2c..87d650f5a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableRuntimeMeta.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableRuntimeMeta.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.optimizing.plan.OptimizingEvaluator;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.plan.OptimizingEvaluator;
 
 import java.util.Map;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableService.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableService.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableService.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableService.java
index 332dcfacd..a0baee2ee 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableService.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableService.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 import com.netease.arctic.TableIDWithFormat;
 import com.netease.arctic.api.BlockableOperation;
 import com.netease.arctic.api.Blocker;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableIdentifier;
-import com.netease.arctic.server.catalog.CatalogService;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.catalog.CatalogService;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableSnapshot.java b/ams/server/src/main/java/org/apache/amoro/server/table/TableSnapshot.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/table/TableSnapshot.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/TableSnapshot.java
index ba786f5e4..de2ef21f4 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableSnapshot.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/TableSnapshot.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table;
+package org.apache.amoro.server.table;
 
 public interface TableSnapshot {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/blocker/TableBlocker.java b/ams/server/src/main/java/org/apache/amoro/server/table/blocker/TableBlocker.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/table/blocker/TableBlocker.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/blocker/TableBlocker.java
index 43117185d..7d834695a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/blocker/TableBlocker.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/blocker/TableBlocker.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.blocker;
+package org.apache.amoro.server.table.blocker;
 
 import com.netease.arctic.api.BlockableOperation;
 import com.netease.arctic.api.Blocker;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.table.blocker.RenewableBlocker;
+import org.apache.amoro.api.ServerTableIdentifier;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/AsyncTableExecutors.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/AsyncTableExecutors.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/AsyncTableExecutors.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/AsyncTableExecutors.java
index d5cd9bac9..42ecb43a1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/AsyncTableExecutors.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/AsyncTableExecutors.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.table.TableManager;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.table.TableManager;
 
 public class AsyncTableExecutors {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/BaseTableExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/BaseTableExecutor.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/BaseTableExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/BaseTableExecutor.java
index f37421565..fa7cfeda3 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/BaseTableExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/BaseTableExecutor.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.table.RuntimeHandlerChain;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableRuntimeMeta;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.table.RuntimeHandlerChain;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableRuntimeMeta;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.slf4j.Logger;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/BlockerExpiringExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/BlockerExpiringExecutor.java
similarity index 86%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/BlockerExpiringExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/BlockerExpiringExecutor.java
index 99983b4fc..169819815 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/BlockerExpiringExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/BlockerExpiringExecutor.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.TableBlockerMapper;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.TableBlockerMapper;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 
 public class BlockerExpiringExecutor extends BaseTableExecutor {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/DanglingDeleteFilesCleaningExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/DanglingDeleteFilesCleaningExecutor.java
similarity index 83%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/DanglingDeleteFilesCleaningExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/DanglingDeleteFilesCleaningExecutor.java
index fb32995a3..7a44100ad 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/DanglingDeleteFilesCleaningExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/DanglingDeleteFilesCleaningExecutor.java
@@ -16,15 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
-
-import static com.netease.arctic.server.optimizing.maintainer.TableMaintainer.ofTable;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.maintainer.TableMaintainer;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.maintainer.TableMaintainer;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,7 +57,7 @@ public class DanglingDeleteFilesCleaningExecutor extends BaseTableExecutor {
     try {
       LOG.info("{} start cleaning dangling delete files", tableRuntime.getTableIdentifier());
       AmoroTable<?> amoroTable = loadTable(tableRuntime);
-      TableMaintainer tableMaintainer = ofTable(amoroTable);
+      TableMaintainer tableMaintainer = TableMaintainer.ofTable(amoroTable);
       tableMaintainer.cleanDanglingDeleteFiles(tableRuntime);
     } catch (Throwable t) {
       LOG.error("{} failed to clean dangling delete file", tableRuntime.getTableIdentifier(), t);
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/DataExpiringExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/DataExpiringExecutor.java
similarity index 88%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/DataExpiringExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/DataExpiringExecutor.java
index 9ec0905b0..8ab9d5de2 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/DataExpiringExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/DataExpiringExecutor.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.maintainer.TableMaintainer;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.maintainer.TableMaintainer;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/HiveCommitSyncExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/HiveCommitSyncExecutor.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/HiveCommitSyncExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/HiveCommitSyncExecutor.java
index 08198a276..0104615a3 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/HiveCommitSyncExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/HiveCommitSyncExecutor.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.api.ServerTableIdentifier;
 import org.apache.amoro.hive.table.SupportHive;
 import org.apache.amoro.hive.utils.HiveMetaSynchronizer;
 import org.apache.amoro.hive.utils.TableTypeUtil;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/OptimizingCommitExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/OptimizingCommitExecutor.java
similarity index 90%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/OptimizingCommitExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/OptimizingCommitExecutor.java
index 4861bf882..653ece3f1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/OptimizingCommitExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/OptimizingCommitExecutor.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 
 import java.util.Optional;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/OptimizingExpiringExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/OptimizingExpiringExecutor.java
similarity index 90%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/OptimizingExpiringExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/OptimizingExpiringExecutor.java
index 0e407b89f..06fbd91ab 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/OptimizingExpiringExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/OptimizingExpiringExecutor.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/OrphanFilesCleaningExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/OrphanFilesCleaningExecutor.java
similarity index 82%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/OrphanFilesCleaningExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/OrphanFilesCleaningExecutor.java
index 50d3f7e95..90751f5da 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/OrphanFilesCleaningExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/OrphanFilesCleaningExecutor.java
@@ -16,15 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
-
-import static com.netease.arctic.server.optimizing.maintainer.TableMaintainer.ofTable;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.maintainer.TableMaintainer;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.maintainer.TableMaintainer;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -57,7 +55,7 @@ public class OrphanFilesCleaningExecutor extends BaseTableExecutor {
     try {
       LOG.info("{} start cleaning orphan files", tableRuntime.getTableIdentifier());
       AmoroTable<?> amoroTable = loadTable(tableRuntime);
-      TableMaintainer tableMaintainer = ofTable(amoroTable);
+      TableMaintainer tableMaintainer = TableMaintainer.ofTable(amoroTable);
       tableMaintainer.cleanOrphanFiles(tableRuntime);
     } catch (Throwable t) {
       LOG.error("{} failed to clean orphan file", tableRuntime.getTableIdentifier(), t);
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/SnapshotsExpiringExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/SnapshotsExpiringExecutor.java
similarity index 88%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/SnapshotsExpiringExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/SnapshotsExpiringExecutor.java
index c3a62d18e..8cc9c91c4 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/SnapshotsExpiringExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/SnapshotsExpiringExecutor.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.maintainer.TableMaintainer;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.maintainer.TableMaintainer;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/TableRuntimeRefreshExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/TableRuntimeRefreshExecutor.java
similarity index 91%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/TableRuntimeRefreshExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/TableRuntimeRefreshExecutor.java
index 2a7b0c07b..ead2b0abe 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/TableRuntimeRefreshExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/TableRuntimeRefreshExecutor.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.plan.OptimizingEvaluator;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.plan.OptimizingEvaluator;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 
 /** Service for expiring tables periodically. */
 public class TableRuntimeRefreshExecutor extends BaseTableExecutor {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/executor/TagsAutoCreatingExecutor.java b/ams/server/src/main/java/org/apache/amoro/server/table/executor/TagsAutoCreatingExecutor.java
similarity index 83%
rename from ams/server/src/main/java/com/netease/arctic/server/table/executor/TagsAutoCreatingExecutor.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/executor/TagsAutoCreatingExecutor.java
index dfb270590..ed37f619d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/executor/TagsAutoCreatingExecutor.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/executor/TagsAutoCreatingExecutor.java
@@ -16,16 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.executor;
-
-import static com.netease.arctic.server.optimizing.maintainer.TableMaintainer.ofTable;
+package org.apache.amoro.server.table.executor;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.server.optimizing.maintainer.TableMaintainer;
-import com.netease.arctic.server.table.TableManager;
-import com.netease.arctic.server.table.TableRuntime;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.optimizing.maintainer.TableMaintainer;
+import org.apache.amoro.server.table.TableManager;
+import org.apache.amoro.server.table.TableRuntime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -55,7 +53,7 @@ public class TagsAutoCreatingExecutor extends BaseTableExecutor {
   protected void execute(TableRuntime tableRuntime) {
     try {
       AmoroTable<?> amoroTable = loadTable(tableRuntime);
-      TableMaintainer tableMaintainer = ofTable(amoroTable);
+      TableMaintainer tableMaintainer = TableMaintainer.ofTable(amoroTable);
       tableMaintainer.autoCreateTags(tableRuntime);
     } catch (Throwable t) {
       LOG.error("Failed to create tags on {}", tableRuntime.getTableIdentifier(), t);
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/IcebergInternalTableOperations.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/IcebergInternalTableOperations.java
similarity index 80%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/IcebergInternalTableOperations.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/IcebergInternalTableOperations.java
index 475ce4104..d3c86aebc 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/IcebergInternalTableOperations.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/IcebergInternalTableOperations.java
@@ -16,15 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
+package org.apache.amoro.server.table.internal;
 
-import static com.netease.arctic.server.table.internal.InternalTableConstants.PROPERTIES_METADATA_LOCATION;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.PROPERTIES_PREV_METADATA_LOCATION;
-
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.TableMetaMapper;
-import com.netease.arctic.server.utils.InternalTableUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.TableMetaMapper;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.LocationProviders;
 import org.apache.iceberg.TableMetadata;
@@ -48,11 +45,11 @@ public class IcebergInternalTableOperations extends PersistentBase implements Ta
 
   private TableMetadata current;
   private final FileIO io;
-  private com.netease.arctic.server.table.TableMetadata tableMetadata;
+  private org.apache.amoro.server.table.TableMetadata tableMetadata;
 
   public IcebergInternalTableOperations(
       ServerTableIdentifier identifier,
-      com.netease.arctic.server.table.TableMetadata tableMetadata,
+      org.apache.amoro.server.table.TableMetadata tableMetadata,
       FileIO io) {
     this.io = io;
     this.tableMetadata = tableMetadata;
@@ -85,8 +82,8 @@ public class IcebergInternalTableOperations extends PersistentBase implements Ta
     return this.current;
   }
 
-  protected String tableMetadataLocation(com.netease.arctic.server.table.TableMetadata tableMeta) {
-    return tableMeta.getProperties().get(PROPERTIES_METADATA_LOCATION);
+  protected String tableMetadataLocation(org.apache.amoro.server.table.TableMetadata tableMeta) {
+    return tableMeta.getProperties().get(InternalTableConstants.PROPERTIES_METADATA_LOCATION);
   }
 
   @Override
@@ -104,7 +101,7 @@ public class IcebergInternalTableOperations extends PersistentBase implements Ta
 
     try {
       commitTableInternal(tableMetadata, base, metadata, newMetadataFileLocation);
-      com.netease.arctic.server.table.TableMetadata updatedMetadata = doCommit();
+      org.apache.amoro.server.table.TableMetadata updatedMetadata = doCommit();
       checkCommitSuccess(updatedMetadata, newMetadataFileLocation);
     } catch (Exception e) {
       io.deleteFile(newMetadataFileLocation);
@@ -134,10 +131,10 @@ public class IcebergInternalTableOperations extends PersistentBase implements Ta
     return TableOperations.super.temp(uncommittedMetadata);
   }
 
-  private com.netease.arctic.server.table.TableMetadata doCommit() {
+  private org.apache.amoro.server.table.TableMetadata doCommit() {
     ServerTableIdentifier tableIdentifier = tableMetadata.getTableIdentifier();
     AtomicInteger effectRows = new AtomicInteger();
-    AtomicReference<com.netease.arctic.server.table.TableMetadata> metadataRef =
+    AtomicReference<org.apache.amoro.server.table.TableMetadata> metadataRef =
         new AtomicReference<>();
     doAsTransaction(
         () -> {
@@ -148,7 +145,7 @@ public class IcebergInternalTableOperations extends PersistentBase implements Ta
           effectRows.set(effects);
         },
         () -> {
-          com.netease.arctic.server.table.TableMetadata m =
+          org.apache.amoro.server.table.TableMetadata m =
               getAs(
                   TableMetaMapper.class,
                   mapper -> mapper.selectTableMetaById(tableIdentifier.getId()));
@@ -163,7 +160,7 @@ public class IcebergInternalTableOperations extends PersistentBase implements Ta
 
   /** write iceberg table metadata and apply changes to AMS tableMetadata to commit. */
   private void commitTableInternal(
-      com.netease.arctic.server.table.TableMetadata amsTableMetadata,
+      org.apache.amoro.server.table.TableMetadata amsTableMetadata,
       TableMetadata base,
       TableMetadata newMetadata,
       String newMetadataFileLocation) {
@@ -178,17 +175,18 @@ public class IcebergInternalTableOperations extends PersistentBase implements Ta
   }
 
   protected void updateMetadataLocationProperties(
-      com.netease.arctic.server.table.TableMetadata amsTableMetadata,
+      org.apache.amoro.server.table.TableMetadata amsTableMetadata,
       String oldMetadataFileLocation,
       String newMetadataFileLocation) {
     Map<String, String> properties = amsTableMetadata.getProperties();
-    properties.put(PROPERTIES_PREV_METADATA_LOCATION, oldMetadataFileLocation);
-    properties.put(PROPERTIES_METADATA_LOCATION, newMetadataFileLocation);
+    properties.put(
+        InternalTableConstants.PROPERTIES_PREV_METADATA_LOCATION, oldMetadataFileLocation);
+    properties.put(InternalTableConstants.PROPERTIES_METADATA_LOCATION, newMetadataFileLocation);
     amsTableMetadata.setProperties(properties);
   }
 
   private void checkCommitSuccess(
-      com.netease.arctic.server.table.TableMetadata updatedTableMetadata,
+      org.apache.amoro.server.table.TableMetadata updatedTableMetadata,
       String metadataFileLocation) {
     String metaLocationInDatabase = tableMetadataLocation(updatedTableMetadata);
     if (!Objects.equals(metaLocationInDatabase, metadataFileLocation)) {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalIcebergCreator.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalIcebergCreator.java
similarity index 88%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalIcebergCreator.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalIcebergCreator.java
index a5e7ba4f2..9804d1db1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalIcebergCreator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalIcebergCreator.java
@@ -16,20 +16,17 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
-
-import static com.netease.arctic.server.table.internal.InternalTableConstants.PROPERTIES_METADATA_LOCATION;
-import static com.netease.arctic.server.utils.InternalTableUtil.genNewMetadataFileLocation;
+package org.apache.amoro.server.table.internal;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.TableMeta;
 import com.netease.arctic.io.ArcticFileIO;
 import com.netease.arctic.properties.CatalogMetaProperties;
 import com.netease.arctic.properties.MetaTableProperties;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.utils.InternalTableUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.SortOrder;
@@ -76,12 +73,14 @@ public class InternalIcebergCreator implements InternalTableCreator {
   public TableMetadata create() {
     checkClosed();
 
-    String icebergMetadataFileLocation = genNewMetadataFileLocation(null, icebergMetadata);
+    String icebergMetadataFileLocation =
+        InternalTableUtil.genNewMetadataFileLocation(null, icebergMetadata);
     TableMeta meta = new TableMeta();
     meta.putToLocations(MetaTableProperties.LOCATION_KEY_TABLE, icebergMetadata.location());
     meta.putToLocations(MetaTableProperties.LOCATION_KEY_BASE, icebergMetadata.location());
     meta.setFormat(format().name());
-    meta.putToProperties(PROPERTIES_METADATA_LOCATION, icebergMetadataFileLocation);
+    meta.putToProperties(
+        InternalTableConstants.PROPERTIES_METADATA_LOCATION, icebergMetadataFileLocation);
 
     ServerTableIdentifier serverTableIdentifier =
         ServerTableIdentifier.of(catalogMeta.getCatalogName(), database, tableName, format());
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalIcebergHandler.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalIcebergHandler.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalIcebergHandler.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalIcebergHandler.java
index 8a4b67cc0..194700ad7 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalIcebergHandler.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalIcebergHandler.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
+package org.apache.amoro.server.table.internal;
 
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.io.ArcticFileIO;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.utils.InternalTableUtil;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.iceberg.TableOperations;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.slf4j.Logger;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergCreator.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalMixedIcebergCreator.java
similarity index 80%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergCreator.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalMixedIcebergCreator.java
index 044e7e6a2..213015bc1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergCreator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalMixedIcebergCreator.java
@@ -16,19 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
-
-import static com.netease.arctic.server.table.internal.InternalTableConstants.CHANGE_STORE_PREFIX;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.CHANGE_STORE_TABLE_NAME_SUFFIX;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.MIXED_ICEBERG_BASED_REST;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.PROPERTIES_METADATA_LOCATION;
-import static com.netease.arctic.server.utils.InternalTableUtil.genNewMetadataFileLocation;
+package org.apache.amoro.server.table.internal;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.server.table.TableMetadata;
 import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.utils.TablePropertyUtil;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.TableMetadataParser;
 import org.apache.iceberg.catalog.TableIdentifier;
@@ -67,7 +62,8 @@ public class InternalMixedIcebergCreator extends InternalIcebergCreator {
     if (keySpec.primaryKeyExisted()) {
       TableIdentifier identifier = TableIdentifier.of(database, tableName);
       TableIdentifier changeIdentifier = TablePropertyUtil.parseChangeIdentifier(properties);
-      String expectChangeStoreName = identifier.name() + CHANGE_STORE_TABLE_NAME_SUFFIX;
+      String expectChangeStoreName =
+          identifier.name() + InternalTableConstants.CHANGE_STORE_TABLE_NAME_SUFFIX;
       TableIdentifier expectChangeIdentifier =
           TableIdentifier.of(identifier.namespace(), expectChangeStoreName);
       Preconditions.checkArgument(
@@ -78,7 +74,9 @@ public class InternalMixedIcebergCreator extends InternalIcebergCreator {
     }
 
     TableMetadata metadata = super.create();
-    metadata.getProperties().put(MIXED_ICEBERG_BASED_REST, Boolean.toString(true));
+    metadata
+        .getProperties()
+        .put(InternalTableConstants.MIXED_ICEBERG_BASED_REST, Boolean.toString(true));
     if (!keySpec.primaryKeyExisted()) {
       return metadata;
     }
@@ -94,10 +92,14 @@ public class InternalMixedIcebergCreator extends InternalIcebergCreator {
             icebergMetadata.sortOrder(),
             changeTableLocation,
             changeProperties);
-    String changeMetadataFileLocation = genNewMetadataFileLocation(null, changeMetadata);
+    String changeMetadataFileLocation =
+        InternalTableUtil.genNewMetadataFileLocation(null, changeMetadata);
     metadata
         .getProperties()
-        .put(CHANGE_STORE_PREFIX + PROPERTIES_METADATA_LOCATION, changeMetadataFileLocation);
+        .put(
+            InternalTableConstants.CHANGE_STORE_PREFIX
+                + InternalTableConstants.PROPERTIES_METADATA_LOCATION,
+            changeMetadataFileLocation);
     metadata.setChangeLocation(changeTableLocation);
     metadata.setPrimaryKey(keySpec.description());
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergHandler.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalMixedIcebergHandler.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergHandler.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalMixedIcebergHandler.java
index a92f68a30..8f89e43d2 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergHandler.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalMixedIcebergHandler.java
@@ -16,20 +16,18 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
-
-import static com.netease.arctic.server.table.internal.InternalTableConstants.CHANGE_STORE_TABLE_NAME_SUFFIX;
+package org.apache.amoro.server.table.internal;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.api.TableMeta;
 import com.netease.arctic.op.ArcticHadoopTableOperations;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.utils.InternalTableUtil;
 import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.table.TableMetaStore;
 import com.netease.arctic.utils.ArcticCatalogUtil;
 import com.netease.arctic.utils.TablePropertyUtil;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.utils.InternalTableUtil;
 import org.apache.hadoop.fs.Path;
 import org.apache.iceberg.TableOperations;
 import org.apache.iceberg.catalog.TableIdentifier;
@@ -99,7 +97,8 @@ public class InternalMixedIcebergHandler extends InternalIcebergHandler {
     TableIdentifier changeIdentifier =
         TableIdentifier.of(
             tableMetadata().getTableIdentifier().getDatabase(),
-            tableMetadata().getTableIdentifier().getTableName() + CHANGE_STORE_TABLE_NAME_SUFFIX);
+            tableMetadata().getTableIdentifier().getTableName()
+                + InternalTableConstants.CHANGE_STORE_TABLE_NAME_SUFFIX);
     Map<String, String> properties = Maps.newHashMap(metadata.properties());
     if (!changeStore) {
       properties.putAll(
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableConstants.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableConstants.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableConstants.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableConstants.java
index 899e80fb0..9c74b4ae9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableConstants.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableConstants.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
+package org.apache.amoro.server.table.internal;
 
 import com.netease.arctic.mixed.InternalMixedIcebergCatalog;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableCreator.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableCreator.java
similarity index 84%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableCreator.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableCreator.java
index 6af83f657..40f01fccf 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableCreator.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableCreator.java
@@ -16,9 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
+package org.apache.amoro.server.table.internal;
 
-import com.netease.arctic.server.table.TableMetadata;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.TableService;
 
 import java.io.Closeable;
 
@@ -27,8 +28,7 @@ public interface InternalTableCreator extends Closeable {
 
   /**
    * Do all things about create an internal table, and prepare the {@link TableMetadata} for {@link
-   * com.netease.arctic.server.table.TableService#createTable(java.lang.String,
-   * com.netease.arctic.server.table.TableMetadata)}
+   * TableService#createTable(java.lang.String, TableMetadata)}
    */
   TableMetadata create();
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableHandler.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableHandler.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableHandler.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableHandler.java
index 70d83ddb5..f7b49ce27 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalTableHandler.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/InternalTableHandler.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
+package org.apache.amoro.server.table.internal;
 
-import com.netease.arctic.server.table.TableMetadata;
+import org.apache.amoro.server.table.TableMetadata;
 
 import java.io.Closeable;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/MixedIcebergInternalTableStoreOperations.java b/ams/server/src/main/java/org/apache/amoro/server/table/internal/MixedIcebergInternalTableStoreOperations.java
similarity index 83%
rename from ams/server/src/main/java/com/netease/arctic/server/table/internal/MixedIcebergInternalTableStoreOperations.java
rename to ams/server/src/main/java/org/apache/amoro/server/table/internal/MixedIcebergInternalTableStoreOperations.java
index fbb733880..9c7ebc2de 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/MixedIcebergInternalTableStoreOperations.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/table/internal/MixedIcebergInternalTableStoreOperations.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.table.internal;
+package org.apache.amoro.server.table.internal;
 
-import static com.netease.arctic.server.table.internal.InternalTableConstants.CHANGE_STORE_PREFIX;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.PROPERTIES_METADATA_LOCATION;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.PROPERTIES_PREV_METADATA_LOCATION;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.CHANGE_STORE_PREFIX;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.PROPERTIES_METADATA_LOCATION;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.PROPERTIES_PREV_METADATA_LOCATION;
 
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.server.table.TableMetadata;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.table.TableMetadata;
 import org.apache.iceberg.TableOperations;
 import org.apache.iceberg.io.FileIO;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionResult.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/ExecutionResult.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionResult.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/ExecutionResult.java
index 66e5894af..0ff332f8e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionResult.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/ExecutionResult.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionStatus.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/ExecutionStatus.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionStatus.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/ExecutionStatus.java
index 6d2b0f723..6fe0aba9e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionStatus.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/ExecutionStatus.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
 public enum ExecutionStatus {
   Created,
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/JDBCResultSet.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/JDBCResultSet.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/JDBCResultSet.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/JDBCResultSet.java
index eb19e092c..825073231 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/JDBCResultSet.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/JDBCResultSet.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/SimpleResultSet.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/SimpleResultSet.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/SimpleResultSet.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/SimpleResultSet.java
index 695c56f68..d1144aad0 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/SimpleResultSet.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/SimpleResultSet.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
 import java.util.Iterator;
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/SparkContextUtil.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/SparkContextUtil.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/SparkContextUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/SparkContextUtil.java
index 0ce9f57c0..33a8eb6a5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/SparkContextUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/SparkContextUtil.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.catalog.CatalogType;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.catalog.CatalogType;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/StatementResult.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/StatementResult.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/StatementResult.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/StatementResult.java
index a40503948..198d53dd4 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/StatementResult.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/StatementResult.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalManager.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalManager.java
similarity index 93%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalManager.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalManager.java
index 0fdc60ab9..e890b1a9a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalManager.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalManager.java
@@ -16,26 +16,25 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
 import com.netease.arctic.Constants;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.config.ConfigOptions;
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.ArcticManagementConf;
-import com.netease.arctic.server.catalog.CatalogType;
-import com.netease.arctic.server.dashboard.model.LatestSessionInfo;
-import com.netease.arctic.server.dashboard.model.LogInfo;
-import com.netease.arctic.server.dashboard.model.SqlResult;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.table.TableService;
-import com.netease.arctic.server.terminal.TerminalSessionFactory.SessionConfigOptions;
-import com.netease.arctic.server.terminal.kyuubi.KyuubiTerminalSessionFactory;
-import com.netease.arctic.server.terminal.local.LocalSessionFactory;
 import com.netease.arctic.table.TableMetaStore;
 import com.netease.arctic.utils.ArcticCatalogUtil;
+import org.apache.amoro.api.config.ConfigOptions;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.ArcticManagementConf;
+import org.apache.amoro.server.catalog.CatalogType;
+import org.apache.amoro.server.dashboard.model.LatestSessionInfo;
+import org.apache.amoro.server.dashboard.model.LogInfo;
+import org.apache.amoro.server.dashboard.model.SqlResult;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.table.TableService;
+import org.apache.amoro.server.terminal.kyuubi.KyuubiTerminalSessionFactory;
+import org.apache.amoro.server.terminal.local.LocalSessionFactory;
 import org.apache.iceberg.CatalogProperties;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
@@ -108,15 +107,18 @@ public class TerminalManager {
     String connectorType = catalogConnectorType(catalogMeta);
     applyClientProperties(catalogMeta);
     Configurations configuration = new Configurations();
-    configuration.setInteger(SessionConfigOptions.FETCH_SIZE, resultLimits);
-    configuration.set(SessionConfigOptions.CATALOGS, Lists.newArrayList(catalog));
-    configuration.set(SessionConfigOptions.catalogConnector(catalog), connectorType);
+    configuration.setInteger(TerminalSessionFactory.SessionConfigOptions.FETCH_SIZE, resultLimits);
     configuration.set(
-        SessionConfigOptions.CATALOG_URL_BASE,
+        TerminalSessionFactory.SessionConfigOptions.CATALOGS, Lists.newArrayList(catalog));
+    configuration.set(
+        TerminalSessionFactory.SessionConfigOptions.catalogConnector(catalog), connectorType);
+    configuration.set(
+        TerminalSessionFactory.SessionConfigOptions.CATALOG_URL_BASE,
         AmsUtil.getAMSThriftAddress(serviceConfig, Constants.THRIFT_TABLE_SERVICE_NAME));
     for (String key : catalogMeta.getCatalogProperties().keySet()) {
       String value = catalogMeta.getCatalogProperties().get(key);
-      configuration.set(SessionConfigOptions.catalogProperty(catalog, key), value);
+      configuration.set(
+          TerminalSessionFactory.SessionConfigOptions.catalogProperty(catalog, key), value);
     }
 
     TerminalSessionContext context;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSession.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSession.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSession.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSession.java
index 185daabfe..bab23370f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSession.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSession.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
-import com.netease.arctic.server.catalog.CatalogType;
+import org.apache.amoro.server.catalog.CatalogType;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionContext.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSessionContext.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionContext.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSessionContext.java
index 54a76ef48..690371886 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionContext.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSessionContext.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.table.TableMetaStore;
+import org.apache.amoro.api.config.Configurations;
 import org.apache.commons.io.Charsets;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.slf4j.Logger;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionFactory.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSessionFactory.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionFactory.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSessionFactory.java
index b8be598d0..4d686c4cc 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionFactory.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/TerminalSessionFactory.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal;
+package org.apache.amoro.server.terminal;
 
-import com.netease.arctic.api.config.ConfigOption;
-import com.netease.arctic.api.config.ConfigOptions;
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.table.TableMetaStore;
+import org.apache.amoro.api.config.ConfigOption;
+import org.apache.amoro.api.config.ConfigOptions;
+import org.apache.amoro.api.config.Configurations;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/kyuubi/KyuubiSession.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/kyuubi/KyuubiSession.java
index 17b659ad5..3fbbda327 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/kyuubi/KyuubiSession.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal.kyuubi;
+package org.apache.amoro.server.terminal.kyuubi;
 
-import com.netease.arctic.server.terminal.JDBCResultSet;
-import com.netease.arctic.server.terminal.TerminalSession;
+import org.apache.amoro.server.terminal.JDBCResultSet;
+import org.apache.amoro.server.terminal.TerminalSession;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
 import java.sql.Connection;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiTerminalSessionFactory.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/kyuubi/KyuubiTerminalSessionFactory.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiTerminalSessionFactory.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/kyuubi/KyuubiTerminalSessionFactory.java
index 7439fae80..0a016e1c1 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiTerminalSessionFactory.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/kyuubi/KyuubiTerminalSessionFactory.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal.kyuubi;
-
-import com.netease.arctic.api.config.ConfigOption;
-import com.netease.arctic.api.config.ConfigOptions;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.terminal.SparkContextUtil;
-import com.netease.arctic.server.terminal.TerminalSession;
-import com.netease.arctic.server.terminal.TerminalSessionFactory;
+package org.apache.amoro.server.terminal.kyuubi;
+
 import com.netease.arctic.table.TableMetaStore;
+import org.apache.amoro.api.config.ConfigOption;
+import org.apache.amoro.api.config.ConfigOptions;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.terminal.SparkContextUtil;
+import org.apache.amoro.server.terminal.TerminalSession;
+import org.apache.amoro.server.terminal.TerminalSessionFactory;
 import org.apache.iceberg.relocated.com.google.common.base.Joiner;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.kyuubi.jdbc.KyuubiHiveDriver;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/local/LocalSessionFactory.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/local/LocalSessionFactory.java
similarity index 92%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/local/LocalSessionFactory.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/local/LocalSessionFactory.java
index 349bb6db8..603015862 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/local/LocalSessionFactory.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/local/LocalSessionFactory.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal.local;
-
-import com.netease.arctic.api.config.ConfigOption;
-import com.netease.arctic.api.config.ConfigOptions;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.server.terminal.SparkContextUtil;
-import com.netease.arctic.server.terminal.TerminalSession;
-import com.netease.arctic.server.terminal.TerminalSessionFactory;
+package org.apache.amoro.server.terminal.local;
+
 import com.netease.arctic.table.TableMetaStore;
+import org.apache.amoro.api.config.ConfigOption;
+import org.apache.amoro.api.config.ConfigOptions;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.terminal.SparkContextUtil;
+import org.apache.amoro.server.terminal.TerminalSession;
+import org.apache.amoro.server.terminal.TerminalSessionFactory;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/local/LocalTerminalSession.java b/ams/server/src/main/java/org/apache/amoro/server/terminal/local/LocalTerminalSession.java
similarity index 95%
rename from ams/server/src/main/java/com/netease/arctic/server/terminal/local/LocalTerminalSession.java
rename to ams/server/src/main/java/org/apache/amoro/server/terminal/local/LocalTerminalSession.java
index 79b0a4a50..03d07ce73 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/local/LocalTerminalSession.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/terminal/local/LocalTerminalSession.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.terminal.local;
+package org.apache.amoro.server.terminal.local;
 
-import com.netease.arctic.server.terminal.SimpleResultSet;
-import com.netease.arctic.server.terminal.TerminalSession;
+import org.apache.amoro.server.terminal.SimpleResultSet;
+import org.apache.amoro.server.terminal.TerminalSession;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/CompressUtil.java b/ams/server/src/main/java/org/apache/amoro/server/utils/CompressUtil.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/CompressUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/CompressUtil.java
index b03e3a6f7..81bed99a7 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/CompressUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/CompressUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/FlinkClientUtil.java b/ams/server/src/main/java/org/apache/amoro/server/utils/FlinkClientUtil.java
similarity index 97%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/FlinkClientUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/FlinkClientUtil.java
index 814c6ebee..d434de8ca 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/FlinkClientUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/FlinkClientUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
 import org.apache.flink.client.program.rest.RestClusterClient;
 import org.apache.flink.configuration.Configuration;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/HiveLocationUtil.java b/ams/server/src/main/java/org/apache/amoro/server/utils/HiveLocationUtil.java
similarity index 98%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/HiveLocationUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/HiveLocationUtil.java
index e2f9470b9..38b1f8da5 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/HiveLocationUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/HiveLocationUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.TableFileUtil;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/IcebergTableUtil.java b/ams/server/src/main/java/org/apache/amoro/server/utils/IcebergTableUtil.java
similarity index 94%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/IcebergTableUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/IcebergTableUtil.java
index dccc534f7..88f2f441c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/IcebergTableUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/IcebergTableUtil.java
@@ -16,17 +16,17 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
 import com.netease.arctic.IcebergFileEntry;
 import com.netease.arctic.scan.TableEntriesScan;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.table.BasicTableSnapshot;
-import com.netease.arctic.server.table.KeyedTableSnapshot;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableSnapshot;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.TableFileUtil;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.table.BasicTableSnapshot;
+import org.apache.amoro.server.table.KeyedTableSnapshot;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableSnapshot;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DeleteFile;
 import org.apache.iceberg.FileContent;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/InternalTableUtil.java b/ams/server/src/main/java/org/apache/amoro/server/utils/InternalTableUtil.java
similarity index 89%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/InternalTableUtil.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/InternalTableUtil.java
index 7c69ca531..4b5679ca9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/InternalTableUtil.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/InternalTableUtil.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
-import static com.netease.arctic.server.table.internal.InternalTableConstants.HADOOP_FILE_IO_IMPL;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.METADATA_FOLDER_NAME;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.MIXED_ICEBERG_BASED_REST;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.S3_FILE_IO_IMPL;
-import static com.netease.arctic.server.table.internal.InternalTableConstants.S3_PROTOCOL_PREFIX;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.HADOOP_FILE_IO_IMPL;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.METADATA_FOLDER_NAME;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.MIXED_ICEBERG_BASED_REST;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.S3_FILE_IO_IMPL;
+import static org.apache.amoro.server.table.internal.InternalTableConstants.S3_PROTOCOL_PREFIX;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
@@ -56,7 +56,7 @@ public class InternalTableUtil {
    * @return true if this table is created before version 0.7.0
    */
   public static boolean isLegacyMixedIceberg(
-      com.netease.arctic.server.table.TableMetadata internalTableMetadata) {
+      org.apache.amoro.server.table.TableMetadata internalTableMetadata) {
     return TableFormat.MIXED_ICEBERG == internalTableMetadata.getFormat()
         && !Boolean.parseBoolean(
             internalTableMetadata.getProperties().get(MIXED_ICEBERG_BASED_REST));
@@ -69,7 +69,7 @@ public class InternalTableUtil {
    * @return true if the table is a keyed mixed format
    */
   public static boolean isKeyedMixedTable(
-      com.netease.arctic.server.table.TableMetadata serverTableMetadata) {
+      org.apache.amoro.server.table.TableMetadata serverTableMetadata) {
     return StringUtils.isNotBlank(serverTableMetadata.getChangeLocation())
         && StringUtils.isNotBlank(serverTableMetadata.getPrimaryKey());
   }
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/PreconditionUtils.java b/ams/server/src/main/java/org/apache/amoro/server/utils/PreconditionUtils.java
similarity index 86%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/PreconditionUtils.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/PreconditionUtils.java
index 085aabebd..9acebf80f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/PreconditionUtils.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/PreconditionUtils.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
-import com.netease.arctic.server.exception.AlreadyExistsException;
-import com.netease.arctic.server.exception.ObjectNotExistsException;
+import org.apache.amoro.server.exception.AlreadyExistsException;
+import org.apache.amoro.server.exception.ObjectNotExistsException;
 
 public class PreconditionUtils {
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/StructuredOptionsSplitter.java b/ams/server/src/main/java/org/apache/amoro/server/utils/StructuredOptionsSplitter.java
similarity index 99%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/StructuredOptionsSplitter.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/StructuredOptionsSplitter.java
index 95465a5f9..cefa395fe 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/StructuredOptionsSplitter.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/StructuredOptionsSplitter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
 import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/ThriftServiceProxy.java b/ams/server/src/main/java/org/apache/amoro/server/utils/ThriftServiceProxy.java
similarity index 96%
rename from ams/server/src/main/java/com/netease/arctic/server/utils/ThriftServiceProxy.java
rename to ams/server/src/main/java/org/apache/amoro/server/utils/ThriftServiceProxy.java
index a8e18d9ec..d2834f8f9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/ThriftServiceProxy.java
+++ b/ams/server/src/main/java/org/apache/amoro/server/utils/ThriftServiceProxy.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.utils;
+package org.apache.amoro.server.utils;
 
-import com.netease.arctic.server.TableManagementService;
+import org.apache.amoro.server.TableManagementService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/resources/META-INF/services/com.netease.arctic.api.events.EventListener b/ams/server/src/main/resources/META-INF/services/org.apache.amoro.api.events.EventListener
similarity index 93%
rename from ams/server/src/main/resources/META-INF/services/com.netease.arctic.api.events.EventListener
rename to ams/server/src/main/resources/META-INF/services/org.apache.amoro.api.events.EventListener
index b1762788f..7bdad5c22 100644
--- a/ams/server/src/main/resources/META-INF/services/com.netease.arctic.api.events.EventListener
+++ b/ams/server/src/main/resources/META-INF/services/org.apache.amoro.api.events.EventListener
@@ -16,4 +16,4 @@
 # limitations under the License.
 #
 
-com.netease.arctic.server.events.LoggingEventListener
\ No newline at end of file
+org.apache.amoro.server.events.LoggingEventListener
\ No newline at end of file
diff --git a/ams/server/src/main/resources/META-INF/services/com.netease.arctic.api.resource.ResourceContainer b/ams/server/src/main/resources/META-INF/services/org.apache.amoro.api.resource.ResourceContainer
similarity index 82%
rename from ams/server/src/main/resources/META-INF/services/com.netease.arctic.api.resource.ResourceContainer
rename to ams/server/src/main/resources/META-INF/services/org.apache.amoro.api.resource.ResourceContainer
index b992c85f7..d80e47ea6 100644
--- a/ams/server/src/main/resources/META-INF/services/com.netease.arctic.api.resource.ResourceContainer
+++ b/ams/server/src/main/resources/META-INF/services/org.apache.amoro.api.resource.ResourceContainer
@@ -16,6 +16,6 @@
 # limitations under the License.
 #
 
-com.netease.arctic.server.manager.SparkOptimizerContainer
-com.netease.arctic.server.manager.FlinkOptimizerContainer
-com.netease.arctic.server.manager.LocalOptimizerContainer
\ No newline at end of file
+org.apache.amoro.server.manager.SparkOptimizerContainer
+org.apache.amoro.server.manager.FlinkOptimizerContainer
+org.apache.amoro.server.manager.LocalOptimizerContainer
\ No newline at end of file
diff --git a/ams/server/src/test/java/com/netease/arctic/server/AmsEnvironment.java b/ams/server/src/test/java/org/apache/amoro/server/AmsEnvironment.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/AmsEnvironment.java
rename to ams/server/src/test/java/org/apache/amoro/server/AmsEnvironment.java
index 9fd5fefa7..d92524b86 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/AmsEnvironment.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/AmsEnvironment.java
@@ -16,23 +16,23 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.SingletonResourceUtil;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.config.Configurations;
-import com.netease.arctic.api.resource.ResourceGroup;
 import com.netease.arctic.catalog.ArcticCatalog;
 import com.netease.arctic.catalog.CatalogLoader;
 import com.netease.arctic.catalog.CatalogTestHelpers;
-import com.netease.arctic.optimizer.standalone.StandaloneOptimizer;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.resource.OptimizerManager;
-import com.netease.arctic.server.resource.ResourceContainers;
-import com.netease.arctic.server.table.DefaultTableService;
 import com.netease.arctic.table.TableIdentifier;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.api.resource.ResourceGroup;
 import org.apache.amoro.hive.HMSMockServer;
+import org.apache.amoro.optimizer.standalone.StandaloneOptimizer;
+import org.apache.amoro.server.resource.OptimizerManager;
+import org.apache.amoro.server.resource.ResourceContainers;
+import org.apache.amoro.server.table.DefaultTableService;
 import org.apache.commons.io.FileUtils;
 import org.apache.curator.shaded.com.google.common.io.MoreFiles;
 import org.apache.curator.shaded.com.google.common.io.RecursiveDeleteOption;
@@ -451,7 +451,7 @@ public class AmsEnvironment {
         + "\n"
         + "containers:\n"
         + "  - name: localContainer\n"
-        + "    container-impl: com.netease.arctic.server.manager.LocalOptimizerContainer\n"
+        + "    container-impl: org.apache.amoro.server.manager.LocalOptimizerContainer\n"
         + "    properties:\n"
         + "      memory: \"1024\"\n"
         + "      hadoop_home: /opt/hadoop\n"
diff --git a/ams/server/src/test/java/com/netease/arctic/server/RestCatalogServiceTestBase.java b/ams/server/src/test/java/org/apache/amoro/server/RestCatalogServiceTestBase.java
similarity index 93%
rename from ams/server/src/test/java/com/netease/arctic/server/RestCatalogServiceTestBase.java
rename to ams/server/src/test/java/org/apache/amoro/server/RestCatalogServiceTestBase.java
index f5c5f01bb..072657baf 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/RestCatalogServiceTestBase.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/RestCatalogServiceTestBase.java
@@ -16,21 +16,21 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
-import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.catalog.InternalCatalog;
-import com.netease.arctic.server.table.TableMetadata;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableService;
 import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.table.TableIdentifier;
 import com.netease.arctic.table.TableMetaStore;
 import com.netease.arctic.utils.ArcticCatalogUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.server.catalog.InternalCatalog;
+import org.apache.amoro.server.table.TableMetadata;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableService;
 import org.apache.iceberg.CatalogUtil;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/TestArcticManagementConfValidator.java b/ams/server/src/test/java/org/apache/amoro/server/TestArcticManagementConfValidator.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/TestArcticManagementConfValidator.java
rename to ams/server/src/test/java/org/apache/amoro/server/TestArcticManagementConfValidator.java
index 7062ed064..bd73a2344 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/TestArcticManagementConfValidator.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/TestArcticManagementConfValidator.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
-import com.netease.arctic.api.config.Configurations;
+import org.apache.amoro.api.config.Configurations;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/TestDefaultOptimizingService.java b/ams/server/src/test/java/org/apache/amoro/server/TestDefaultOptimizingService.java
similarity index 96%
rename from ams/server/src/test/java/com/netease/arctic/server/TestDefaultOptimizingService.java
rename to ams/server/src/test/java/org/apache/amoro/server/TestDefaultOptimizingService.java
index ad69080eb..275d9accd 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/TestDefaultOptimizingService.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/TestDefaultOptimizingService.java
@@ -16,12 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
-import com.netease.arctic.api.OptimizerProperties;
 import com.netease.arctic.api.OptimizerRegisterInfo;
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskId;
@@ -31,18 +30,19 @@ import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.io.MixedDataTestHelpers;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
 import com.netease.arctic.optimizing.TableOptimizing;
-import com.netease.arctic.server.exception.IllegalTaskStateException;
-import com.netease.arctic.server.exception.PluginRetryAuthException;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.optimizing.TaskRuntime;
-import com.netease.arctic.server.resource.OptimizerInstance;
-import com.netease.arctic.server.table.AMSTableTestBase;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.executor.TableRuntimeRefreshExecutor;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.SerializationUtil;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.server.exception.IllegalTaskStateException;
+import org.apache.amoro.server.exception.PluginRetryAuthException;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.resource.OptimizerInstance;
+import org.apache.amoro.server.table.AMSTableTestBase;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.executor.TableRuntimeRefreshExecutor;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.data.Record;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/TestInternalIcebergCatalogService.java b/ams/server/src/test/java/org/apache/amoro/server/TestInternalIcebergCatalogService.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/TestInternalIcebergCatalogService.java
rename to ams/server/src/test/java/org/apache/amoro/server/TestInternalIcebergCatalogService.java
index 844826a05..c0b734fc0 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/TestInternalIcebergCatalogService.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/TestInternalIcebergCatalogService.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/TestInternalMixedCatalogService.java b/ams/server/src/test/java/org/apache/amoro/server/TestInternalMixedCatalogService.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/TestInternalMixedCatalogService.java
rename to ams/server/src/test/java/org/apache/amoro/server/TestInternalMixedCatalogService.java
index d3c2ee001..81d3b61f9 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/TestInternalMixedCatalogService.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/TestInternalMixedCatalogService.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server;
+package org.apache.amoro.server;
 
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/catalog/TableCatalogTestBase.java b/ams/server/src/test/java/org/apache/amoro/server/catalog/TableCatalogTestBase.java
similarity index 95%
rename from ams/server/src/test/java/com/netease/arctic/server/catalog/TableCatalogTestBase.java
rename to ams/server/src/test/java/org/apache/amoro/server/catalog/TableCatalogTestBase.java
index f779458f7..4b119b0f6 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/catalog/TableCatalogTestBase.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/catalog/TableCatalogTestBase.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.AmoroCatalog;
 import com.netease.arctic.formats.AmoroCatalogTestHelper;
-import com.netease.arctic.server.table.TableServiceTestBase;
 import org.apache.amoro.hive.TestHMS;
+import org.apache.amoro.server.table.TableServiceTestBase;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/catalog/TestServerCatalog.java b/ams/server/src/test/java/org/apache/amoro/server/catalog/TestServerCatalog.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/catalog/TestServerCatalog.java
rename to ams/server/src/test/java/org/apache/amoro/server/catalog/TestServerCatalog.java
index 9f54cf92a..c5027499a 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/catalog/TestServerCatalog.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/catalog/TestServerCatalog.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.catalog;
+package org.apache.amoro.server.catalog;
 
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.formats.AmoroCatalogTestHelper;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/dashboard/TestIcebergServerTableDescriptor.java b/ams/server/src/test/java/org/apache/amoro/server/dashboard/TestIcebergServerTableDescriptor.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/dashboard/TestIcebergServerTableDescriptor.java
rename to ams/server/src/test/java/org/apache/amoro/server/dashboard/TestIcebergServerTableDescriptor.java
index fc31fdfdd..18bb3a9c9 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/dashboard/TestIcebergServerTableDescriptor.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/dashboard/TestIcebergServerTableDescriptor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
 import com.netease.arctic.formats.AmoroCatalogTestHelper;
 import com.netease.arctic.formats.IcebergHadoopCatalogTestHelper;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/dashboard/TestPaimonServerTableDescriptor.java b/ams/server/src/test/java/org/apache/amoro/server/dashboard/TestPaimonServerTableDescriptor.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/dashboard/TestPaimonServerTableDescriptor.java
rename to ams/server/src/test/java/org/apache/amoro/server/dashboard/TestPaimonServerTableDescriptor.java
index 48b9a1e58..7bb84622c 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/dashboard/TestPaimonServerTableDescriptor.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/dashboard/TestPaimonServerTableDescriptor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
 import com.netease.arctic.formats.AmoroCatalogTestHelper;
 import com.netease.arctic.formats.PaimonHadoopCatalogTestHelper;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/dashboard/TestServerTableDescriptor.java b/ams/server/src/test/java/org/apache/amoro/server/dashboard/TestServerTableDescriptor.java
similarity index 95%
rename from ams/server/src/test/java/com/netease/arctic/server/dashboard/TestServerTableDescriptor.java
rename to ams/server/src/test/java/org/apache/amoro/server/dashboard/TestServerTableDescriptor.java
index 1c799e3aa..63bff3b6c 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/dashboard/TestServerTableDescriptor.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/dashboard/TestServerTableDescriptor.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard;
+package org.apache.amoro.server.dashboard;
 
-import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.formats.AmoroCatalogTestHelper;
-import com.netease.arctic.server.catalog.TableCatalogTestBase;
-import com.netease.arctic.server.dashboard.model.DDLInfo;
 import com.netease.arctic.table.TableIdentifier;
+import org.apache.amoro.api.config.Configurations;
+import org.apache.amoro.server.catalog.TableCatalogTestBase;
+import org.apache.amoro.server.dashboard.model.DDLInfo;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/dashboard/utils/TestParamSignatureCalculator.java b/ams/server/src/test/java/org/apache/amoro/server/dashboard/utils/TestParamSignatureCalculator.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/dashboard/utils/TestParamSignatureCalculator.java
rename to ams/server/src/test/java/org/apache/amoro/server/dashboard/utils/TestParamSignatureCalculator.java
index 2fa5d0257..e3c2fd7a7 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/dashboard/utils/TestParamSignatureCalculator.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/dashboard/utils/TestParamSignatureCalculator.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/dashboard/utils/TestPropertiesUtil.java b/ams/server/src/test/java/org/apache/amoro/server/dashboard/utils/TestPropertiesUtil.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/dashboard/utils/TestPropertiesUtil.java
rename to ams/server/src/test/java/org/apache/amoro/server/dashboard/utils/TestPropertiesUtil.java
index ff74f312e..6c2f18fd7 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/dashboard/utils/TestPropertiesUtil.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/dashboard/utils/TestPropertiesUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.dashboard.utils;
+package org.apache.amoro.server.dashboard.utils;
 
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Assert;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/manager/TestAbstractPluginManager.java b/ams/server/src/test/java/org/apache/amoro/server/manager/TestAbstractPluginManager.java
similarity index 95%
rename from ams/server/src/test/java/com/netease/arctic/server/manager/TestAbstractPluginManager.java
rename to ams/server/src/test/java/org/apache/amoro/server/manager/TestAbstractPluginManager.java
index bd75214ad..e68366ceb 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/manager/TestAbstractPluginManager.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/manager/TestAbstractPluginManager.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
 import com.clearspring.analytics.util.Lists;
-import com.netease.arctic.api.ActivePlugin;
-import com.netease.arctic.server.exception.AlreadyExistsException;
-import com.netease.arctic.server.exception.LoadingPluginException;
+import org.apache.amoro.api.ActivePlugin;
+import org.apache.amoro.server.exception.AlreadyExistsException;
+import org.apache.amoro.server.exception.LoadingPluginException;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.jupiter.api.Assertions;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/manager/TestFlinkOptimizerContainer.java b/ams/server/src/test/java/org/apache/amoro/server/manager/TestFlinkOptimizerContainer.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/manager/TestFlinkOptimizerContainer.java
rename to ams/server/src/test/java/org/apache/amoro/server/manager/TestFlinkOptimizerContainer.java
index 9e327cdd7..f0dbfcc72 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/manager/TestFlinkOptimizerContainer.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/manager/TestFlinkOptimizerContainer.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.OptimizerProperties;
+import org.apache.amoro.api.OptimizerProperties;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/manager/TestSparkOptimizerContainer.java b/ams/server/src/test/java/org/apache/amoro/server/manager/TestSparkOptimizerContainer.java
similarity index 96%
rename from ams/server/src/test/java/com/netease/arctic/server/manager/TestSparkOptimizerContainer.java
rename to ams/server/src/test/java/org/apache/amoro/server/manager/TestSparkOptimizerContainer.java
index 9a811f380..fc2b958b0 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/manager/TestSparkOptimizerContainer.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/manager/TestSparkOptimizerContainer.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.manager;
+package org.apache.amoro.server.manager;
 
-import com.netease.arctic.api.OptimizerProperties;
+import org.apache.amoro.api.OptimizerProperties;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/metrics/MockedMetricReporter.java b/ams/server/src/test/java/org/apache/amoro/server/metrics/MockedMetricReporter.java
similarity index 89%
rename from ams/server/src/test/java/com/netease/arctic/server/metrics/MockedMetricReporter.java
rename to ams/server/src/test/java/org/apache/amoro/server/metrics/MockedMetricReporter.java
index 287ab0b15..84e9fbb9f 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/metrics/MockedMetricReporter.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/metrics/MockedMetricReporter.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.metrics;
+package org.apache.amoro.server.metrics;
 
-import com.netease.arctic.api.metrics.MetricReporter;
-import com.netease.arctic.api.metrics.MetricSet;
+import org.apache.amoro.api.metrics.MetricReporter;
+import org.apache.amoro.api.metrics.MetricSet;
 
 import java.util.Map;
 
diff --git a/ams/server/src/test/java/com/netease/arctic/server/metrics/TestMetricRegistry.java b/ams/server/src/test/java/org/apache/amoro/server/metrics/TestMetricRegistry.java
similarity index 93%
rename from ams/server/src/test/java/com/netease/arctic/server/metrics/TestMetricRegistry.java
rename to ams/server/src/test/java/org/apache/amoro/server/metrics/TestMetricRegistry.java
index 132b719ba..f0796a76d 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/metrics/TestMetricRegistry.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/metrics/TestMetricRegistry.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.metrics;
+package org.apache.amoro.server.metrics;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -25,12 +25,12 @@ import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
-import com.netease.arctic.api.metrics.Counter;
-import com.netease.arctic.api.metrics.Gauge;
-import com.netease.arctic.api.metrics.Metric;
-import com.netease.arctic.api.metrics.MetricDefine;
-import com.netease.arctic.api.metrics.MetricKey;
-import com.netease.arctic.api.metrics.MetricRegisterListener;
+import org.apache.amoro.api.metrics.Counter;
+import org.apache.amoro.api.metrics.Gauge;
+import org.apache.amoro.api.metrics.Metric;
+import org.apache.amoro.api.metrics.MetricDefine;
+import org.apache.amoro.api.metrics.MetricKey;
+import org.apache.amoro.api.metrics.MetricRegisterListener;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/AbstractOptimizingTest.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/AbstractOptimizingTest.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/AbstractOptimizingTest.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/AbstractOptimizingTest.java
index cf062e7ea..426b463cb 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/AbstractOptimizingTest.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/AbstractOptimizingTest.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.io.MixedDataTestHelpers;
-import com.netease.arctic.server.AmsEnvironment;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.table.WriteOperationKind;
 import org.apache.amoro.hive.io.writer.AdaptHiveGenericTaskWriterBuilder;
+import org.apache.amoro.server.AmsEnvironment;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DeleteFile;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/BaseOptimizingChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/BaseOptimizingChecker.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/BaseOptimizingChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/BaseOptimizingChecker.java
index 04b2cfdc1..32b09b92f 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/BaseOptimizingChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/BaseOptimizingChecker.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
-import com.netease.arctic.server.persistence.PersistentBase;
-import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
 import com.netease.arctic.table.TableIdentifier;
+import org.apache.amoro.server.persistence.PersistentBase;
+import org.apache.amoro.server.persistence.mapper.OptimizingMapper;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.junit.Assert;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/OptimizingTestHelpers.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/OptimizingTestHelpers.java
similarity index 92%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/OptimizingTestHelpers.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/OptimizingTestHelpers.java
index dedfada90..183b6be4d 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/OptimizingTestHelpers.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/OptimizingTestHelpers.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.TableTestHelper;
-import com.netease.arctic.server.table.BasicTableSnapshot;
-import com.netease.arctic.server.table.KeyedTableSnapshot;
-import com.netease.arctic.server.table.TableSnapshot;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
+import org.apache.amoro.server.table.BasicTableSnapshot;
+import org.apache.amoro.server.table.KeyedTableSnapshot;
+import org.apache.amoro.server.table.TableSnapshot;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DeleteFile;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestIcebergHadoopOptimizing.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestIcebergHadoopOptimizing.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/TestIcebergHadoopOptimizing.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/TestIcebergHadoopOptimizing.java
index 57e951e52..ddf3a4c3c 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestIcebergHadoopOptimizing.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestIcebergHadoopOptimizing.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.properties.CatalogMetaProperties;
-import com.netease.arctic.server.AmsEnvironment;
-import com.netease.arctic.server.RestCatalogService;
-import com.netease.arctic.server.catalog.InternalCatalog;
-import com.netease.arctic.server.catalog.ServerCatalog;
 import com.netease.arctic.table.TableMetaStore;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.utils.ArcticCatalogUtil;
+import org.apache.amoro.server.AmsEnvironment;
+import org.apache.amoro.server.RestCatalogService;
+import org.apache.amoro.server.catalog.InternalCatalog;
+import org.apache.amoro.server.catalog.ServerCatalog;
 import org.apache.iceberg.CatalogUtil;
 import org.apache.iceberg.PartitionKey;
 import org.apache.iceberg.PartitionSpec;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestMixedHiveOptimizing.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestMixedHiveOptimizing.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/TestMixedHiveOptimizing.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/TestMixedHiveOptimizing.java
index 546a0598c..97d00507c 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestMixedHiveOptimizing.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestMixedHiveOptimizing.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.io.ArcticHadoopFileIO;
 import com.netease.arctic.io.MixedDataTestHelpers;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestMixedIcebergOptimizing.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestMixedIcebergOptimizing.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/TestMixedIcebergOptimizing.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/TestMixedIcebergOptimizing.java
index 4ad8d14e0..b2ed28478 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestMixedIcebergOptimizing.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestMixedIcebergOptimizing.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingIntegration.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestOptimizingIntegration.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingIntegration.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/TestOptimizingIntegration.java
index 25344124b..1535e483d 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingIntegration.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestOptimizingIntegration.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
+package org.apache.amoro.server.optimizing;
 
-import com.netease.arctic.server.AmsEnvironment;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.table.TableBuilder;
 import com.netease.arctic.table.TableIdentifier;
 import com.netease.arctic.table.TableProperties;
+import org.apache.amoro.server.AmsEnvironment;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.types.Types;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingQueue.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestOptimizingQueue.java
similarity index 90%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingQueue.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/TestOptimizingQueue.java
index c644753f6..7e272aa73 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingQueue.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/TestOptimizingQueue.java
@@ -16,17 +16,17 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing;
-
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.GROUP_TAG;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_EXECUTING_TABLES;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_EXECUTING_TASKS;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_MEMORY_BYTES_ALLOCATED;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_OPTIMIZER_INSTANCES;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_PENDING_TABLES;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_PENDING_TASKS;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_PLANING_TABLES;
-import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_THREADS;
+package org.apache.amoro.server.optimizing;
+
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.GROUP_TAG;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_EXECUTING_TABLES;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_EXECUTING_TASKS;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_MEMORY_BYTES_ALLOCATED;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_OPTIMIZER_INSTANCES;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_PENDING_TABLES;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_PENDING_TASKS;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_PLANING_TABLES;
+import static org.apache.amoro.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_THREADS;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
@@ -34,27 +34,27 @@ import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.api.OptimizerRegisterInfo;
 import com.netease.arctic.api.OptimizingTaskId;
 import com.netease.arctic.api.OptimizingTaskResult;
-import com.netease.arctic.api.config.TableConfiguration;
-import com.netease.arctic.api.metrics.Gauge;
-import com.netease.arctic.api.metrics.MetricKey;
-import com.netease.arctic.api.resource.ResourceGroup;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.io.MixedDataTestHelpers;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
 import com.netease.arctic.optimizing.TableOptimizing;
-import com.netease.arctic.server.manager.MetricManager;
-import com.netease.arctic.server.metrics.MetricRegistry;
-import com.netease.arctic.server.resource.OptimizerInstance;
-import com.netease.arctic.server.resource.OptimizerThread;
-import com.netease.arctic.server.resource.QuotaProvider;
-import com.netease.arctic.server.table.AMSTableTestBase;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.TableRuntimeMeta;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.SerializationUtil;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.api.metrics.Gauge;
+import org.apache.amoro.api.metrics.MetricKey;
+import org.apache.amoro.api.resource.ResourceGroup;
+import org.apache.amoro.server.manager.MetricManager;
+import org.apache.amoro.server.metrics.MetricRegistry;
+import org.apache.amoro.server.resource.OptimizerInstance;
+import org.apache.amoro.server.resource.OptimizerThread;
+import org.apache.amoro.server.resource.QuotaProvider;
+import org.apache.amoro.server.table.AMSTableTestBase;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.TableRuntimeMeta;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.data.Record;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/commit/TestMixIcebergCommit.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/commit/TestMixIcebergCommit.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/commit/TestMixIcebergCommit.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/commit/TestMixIcebergCommit.java
index 266baaede..37227af44 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/commit/TestMixIcebergCommit.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/commit/TestMixIcebergCommit.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.commit;
+package org.apache.amoro.server.optimizing.commit;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
@@ -30,10 +30,10 @@ import com.netease.arctic.optimizing.RewriteFilesOutput;
 import com.netease.arctic.scan.ArcticFileScanTask;
 import com.netease.arctic.scan.CombinedScanTask;
 import com.netease.arctic.scan.KeyedTableScanTask;
-import com.netease.arctic.server.exception.OptimizingCommitException;
-import com.netease.arctic.server.optimizing.KeyedTableCommit;
-import com.netease.arctic.server.optimizing.TaskRuntime;
 import com.netease.arctic.utils.ContentFiles;
+import org.apache.amoro.server.exception.OptimizingCommitException;
+import org.apache.amoro.server.optimizing.KeyedTableCommit;
+import org.apache.amoro.server.optimizing.TaskRuntime;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DataFiles;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/commit/TestUnKeyedTableCommit.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/commit/TestUnKeyedTableCommit.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/commit/TestUnKeyedTableCommit.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/commit/TestUnKeyedTableCommit.java
index ac9b4a22d..086f43ae6 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/commit/TestUnKeyedTableCommit.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/commit/TestUnKeyedTableCommit.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.commit;
+package org.apache.amoro.server.optimizing.commit;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
@@ -26,10 +26,10 @@ import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.catalog.TableTestBase;
 import com.netease.arctic.optimizing.RewriteFilesInput;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
-import com.netease.arctic.server.exception.OptimizingCommitException;
-import com.netease.arctic.server.optimizing.TaskRuntime;
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.exception.OptimizingCommitException;
+import org.apache.amoro.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DataFiles;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/CompleteOptimizingFlow.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/CompleteOptimizingFlow.java
similarity index 93%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/CompleteOptimizingFlow.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/CompleteOptimizingFlow.java
index 762a7b947..43a732105 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/CompleteOptimizingFlow.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/CompleteOptimizingFlow.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow;
+package org.apache.amoro.server.optimizing.flow;
 
 import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_FRAGMENT_RATIO;
 import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_MAJOR_TRIGGER_DUPLICATE_RATIO;
@@ -24,27 +24,27 @@ import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_MINOR_TRI
 import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_TARGET_SIZE;
 
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.api.OptimizerProperties;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.config.OptimizingConfig;
-import com.netease.arctic.api.config.TableConfiguration;
 import com.netease.arctic.optimizing.IcebergRewriteExecutor;
 import com.netease.arctic.optimizing.OptimizingExecutor;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.optimizing.RewriteFilesOutput;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.optimizing.KeyedTableCommit;
-import com.netease.arctic.server.optimizing.TaskRuntime;
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.utils.ArcticDataFiles;
 import com.netease.arctic.utils.TablePropertyUtil;
 import com.netease.arctic.utils.map.StructLikeCollections;
+import org.apache.amoro.api.OptimizerProperties;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.OptimizingConfig;
+import org.apache.amoro.api.config.TableConfiguration;
 import org.apache.amoro.hive.optimizing.MixFormatRewriteExecutor;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.optimizing.KeyedTableCommit;
+import org.apache.amoro.server.optimizing.TaskRuntime;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.StructLike;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/DataReader.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/DataReader.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/DataReader.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/DataReader.java
index cab0e29c3..d84be7a9d 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/DataReader.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/DataReader.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow;
+package org.apache.amoro.server.optimizing.flow;
 
 import com.netease.arctic.scan.CombinedScanTask;
 import com.netease.arctic.scan.KeyedTableScanTask;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/RandomRecordGenerator.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/RandomRecordGenerator.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/RandomRecordGenerator.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/RandomRecordGenerator.java
index 2612026a1..044374faf 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/RandomRecordGenerator.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/RandomRecordGenerator.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow;
+package org.apache.amoro.server.optimizing.flow;
 
 import org.apache.iceberg.PartitionField;
 import org.apache.iceberg.PartitionSpec;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/TestKeyedContinuousOptimizing.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/TestKeyedContinuousOptimizing.java
similarity index 92%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/TestKeyedContinuousOptimizing.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/TestKeyedContinuousOptimizing.java
index 98c56764f..e329e3235 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/TestKeyedContinuousOptimizing.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/TestKeyedContinuousOptimizing.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow;
+package org.apache.amoro.server.optimizing.flow;
 
 import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_FULL_REWRITE_ALL_FILES;
 import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_FULL_TRIGGER_INTERVAL;
@@ -28,16 +28,16 @@ import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.catalog.TableTestBase;
 import com.netease.arctic.io.reader.CombinedDeleteFilter;
-import com.netease.arctic.server.optimizing.flow.checker.DataConcurrencyChecker;
-import com.netease.arctic.server.optimizing.flow.checker.FullOptimizingMove2HiveChecker;
-import com.netease.arctic.server.optimizing.flow.checker.FullOptimizingWrite2HiveChecker;
-import com.netease.arctic.server.optimizing.flow.checker.MinorOptimizingCheck;
-import com.netease.arctic.server.optimizing.flow.checker.OptimizingCountChecker;
-import com.netease.arctic.server.optimizing.flow.view.KeyedTableDataView;
 import com.netease.arctic.table.ArcticTable;
 import org.apache.amoro.hive.TestHMS;
 import org.apache.amoro.hive.catalog.HiveCatalogTestHelper;
 import org.apache.amoro.hive.catalog.HiveTableTestHelper;
+import org.apache.amoro.server.optimizing.flow.checker.DataConcurrencyChecker;
+import org.apache.amoro.server.optimizing.flow.checker.FullOptimizingMove2HiveChecker;
+import org.apache.amoro.server.optimizing.flow.checker.FullOptimizingWrite2HiveChecker;
+import org.apache.amoro.server.optimizing.flow.checker.MinorOptimizingCheck;
+import org.apache.amoro.server.optimizing.flow.checker.OptimizingCountChecker;
+import org.apache.amoro.server.optimizing.flow.view.KeyedTableDataView;
 import org.junit.ClassRule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/TestUnKeyedContinuousOptimizing.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/TestUnKeyedContinuousOptimizing.java
similarity index 91%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/TestUnKeyedContinuousOptimizing.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/TestUnKeyedContinuousOptimizing.java
index dd18461bf..bc0a16fd8 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/TestUnKeyedContinuousOptimizing.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/TestUnKeyedContinuousOptimizing.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow;
+package org.apache.amoro.server.optimizing.flow;
 
 import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_FULL_REWRITE_ALL_FILES;
 import static com.netease.arctic.table.TableProperties.SELF_OPTIMIZING_FULL_TRIGGER_INTERVAL;
@@ -27,16 +27,16 @@ import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.catalog.TableTestBase;
-import com.netease.arctic.server.optimizing.flow.checker.DataConcurrencyChecker;
-import com.netease.arctic.server.optimizing.flow.checker.FullOptimizingMove2HiveChecker;
-import com.netease.arctic.server.optimizing.flow.checker.FullOptimizingWrite2HiveChecker;
-import com.netease.arctic.server.optimizing.flow.checker.MinorOptimizingCheck;
-import com.netease.arctic.server.optimizing.flow.checker.OptimizingCountChecker;
-import com.netease.arctic.server.optimizing.flow.view.UnKeyedTableDataView;
 import com.netease.arctic.table.ArcticTable;
 import org.apache.amoro.hive.TestHMS;
 import org.apache.amoro.hive.catalog.HiveCatalogTestHelper;
 import org.apache.amoro.hive.catalog.HiveTableTestHelper;
+import org.apache.amoro.server.optimizing.flow.checker.DataConcurrencyChecker;
+import org.apache.amoro.server.optimizing.flow.checker.FullOptimizingMove2HiveChecker;
+import org.apache.amoro.server.optimizing.flow.checker.FullOptimizingWrite2HiveChecker;
+import org.apache.amoro.server.optimizing.flow.checker.MinorOptimizingCheck;
+import org.apache.amoro.server.optimizing.flow.checker.OptimizingCountChecker;
+import org.apache.amoro.server.optimizing.flow.view.UnKeyedTableDataView;
 import org.junit.ClassRule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/AbstractHiveChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/AbstractHiveChecker.java
similarity index 93%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/AbstractHiveChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/AbstractHiveChecker.java
index 8ec7eca5c..28ef2dcd0 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/AbstractHiveChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/AbstractHiveChecker.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.flow.view.MatchResult;
-import com.netease.arctic.server.optimizing.flow.view.TableDataView;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
 import org.apache.amoro.hive.HMSClientPool;
 import org.apache.amoro.hive.table.SupportHive;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.flow.view.MatchResult;
+import org.apache.amoro.server.optimizing.flow.view.TableDataView;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
 import org.apache.iceberg.data.Record;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/AbstractSceneCountChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/AbstractSceneCountChecker.java
similarity index 86%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/AbstractSceneCountChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/AbstractSceneCountChecker.java
index 8704aeac7..3ab99cb88 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/AbstractSceneCountChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/AbstractSceneCountChecker.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.flow.CompleteOptimizingFlow;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.flow.CompleteOptimizingFlow;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 
 import javax.annotation.Nullable;
 
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/DataConcurrencyChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/DataConcurrencyChecker.java
similarity index 78%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/DataConcurrencyChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/DataConcurrencyChecker.java
index 9a63f7493..b0775a41a 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/DataConcurrencyChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/DataConcurrencyChecker.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.flow.CompleteOptimizingFlow;
-import com.netease.arctic.server.optimizing.flow.DataReader;
-import com.netease.arctic.server.optimizing.flow.view.MatchResult;
-import com.netease.arctic.server.optimizing.flow.view.TableDataView;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.flow.CompleteOptimizingFlow;
+import org.apache.amoro.server.optimizing.flow.DataReader;
+import org.apache.amoro.server.optimizing.flow.view.MatchResult;
+import org.apache.amoro.server.optimizing.flow.view.TableDataView;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 import org.apache.iceberg.data.Record;
 
 import javax.annotation.Nullable;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/FullOptimizingMove2HiveChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/FullOptimizingMove2HiveChecker.java
similarity index 81%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/FullOptimizingMove2HiveChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/FullOptimizingMove2HiveChecker.java
index 51a238397..ae3fab165 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/FullOptimizingMove2HiveChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/FullOptimizingMove2HiveChecker.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
 import com.netease.arctic.optimizing.OptimizingInputProperties;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.flow.view.TableDataView;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.flow.view.TableDataView;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 import org.apache.commons.collections.CollectionUtils;
 
 import javax.annotation.Nullable;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/FullOptimizingWrite2HiveChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/FullOptimizingWrite2HiveChecker.java
similarity index 81%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/FullOptimizingWrite2HiveChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/FullOptimizingWrite2HiveChecker.java
index 6aa068f8a..0e46802da 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/FullOptimizingWrite2HiveChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/FullOptimizingWrite2HiveChecker.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
 import com.netease.arctic.optimizing.OptimizingInputProperties;
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.flow.view.TableDataView;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.flow.view.TableDataView;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 import org.apache.commons.collections.CollectionUtils;
 
 import javax.annotation.Nullable;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/MajorOptimizingChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/MajorOptimizingChecker.java
similarity index 82%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/MajorOptimizingChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/MajorOptimizingChecker.java
index a20f29eb9..4524da6f9 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/MajorOptimizingChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/MajorOptimizingChecker.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 import org.apache.commons.collections.CollectionUtils;
 import org.jetbrains.annotations.Nullable;
 
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/MinorOptimizingCheck.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/MinorOptimizingCheck.java
similarity index 82%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/MinorOptimizingCheck.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/MinorOptimizingCheck.java
index 6aae8cc88..aeaf56aa0 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/MinorOptimizingCheck.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/MinorOptimizingCheck.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
-import com.netease.arctic.server.optimizing.OptimizingType;
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.OptimizingType;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 import org.apache.commons.collections.CollectionUtils;
 import org.jetbrains.annotations.Nullable;
 
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/OptimizingCountChecker.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/OptimizingCountChecker.java
similarity index 84%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/OptimizingCountChecker.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/OptimizingCountChecker.java
index e362fba8f..227a6e841 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/checker/OptimizingCountChecker.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/checker/OptimizingCountChecker.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.checker;
+package org.apache.amoro.server.optimizing.flow.checker;
 
-import com.netease.arctic.server.optimizing.UnKeyedTableCommit;
-import com.netease.arctic.server.optimizing.plan.OptimizingPlanner;
-import com.netease.arctic.server.optimizing.plan.TaskDescriptor;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.UnKeyedTableCommit;
+import org.apache.amoro.server.optimizing.plan.OptimizingPlanner;
+import org.apache.amoro.server.optimizing.plan.TaskDescriptor;
 import org.apache.commons.collections.CollectionUtils;
 
 import javax.annotation.Nullable;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/AbstractTableDataView.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/AbstractTableDataView.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/AbstractTableDataView.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/AbstractTableDataView.java
index e2f7b93e3..478bfe2c9 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/AbstractTableDataView.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/AbstractTableDataView.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.view;
+package org.apache.amoro.server.optimizing.flow.view;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.data.ChangeAction;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/KeyedTableDataView.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/KeyedTableDataView.java
index 2af8c69e0..ec4d1f41c 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/KeyedTableDataView.java
@@ -16,16 +16,16 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.view;
+package org.apache.amoro.server.optimizing.flow.view;
 
 import static com.netease.arctic.table.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.io.writer.RecordWithAction;
-import com.netease.arctic.server.optimizing.flow.DataReader;
-import com.netease.arctic.server.optimizing.flow.RandomRecordGenerator;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.flow.DataReader;
+import org.apache.amoro.server.optimizing.flow.RandomRecordGenerator;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/MatchResult.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/MatchResult.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/MatchResult.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/MatchResult.java
index 7daa8ea60..e700e92c9 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/MatchResult.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/MatchResult.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.view;
+package org.apache.amoro.server.optimizing.flow.view;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.iceberg.StructLike;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/TableDataView.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/TableDataView.java
similarity index 94%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/TableDataView.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/TableDataView.java
index 49919a970..22499d890 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/TableDataView.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/TableDataView.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.view;
+package org.apache.amoro.server.optimizing.flow.view;
 
 import org.apache.iceberg.data.Record;
 
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/UnKeyedTableDataView.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/UnKeyedTableDataView.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/UnKeyedTableDataView.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/UnKeyedTableDataView.java
index 3ff457fe0..91495fcac 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/UnKeyedTableDataView.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/flow/view/UnKeyedTableDataView.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.flow.view;
+package org.apache.amoro.server.optimizing.flow.view;
 
 import static com.netease.arctic.table.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.io.writer.RecordWithAction;
-import com.netease.arctic.server.optimizing.flow.RandomRecordGenerator;
 import com.netease.arctic.table.ArcticTable;
+import org.apache.amoro.server.optimizing.flow.RandomRecordGenerator;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestAutoCreateIcebergTagAction.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestAutoCreateIcebergTagAction.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestAutoCreateIcebergTagAction.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestAutoCreateIcebergTagAction.java
index 2f1e67a42..d2cb07338 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestAutoCreateIcebergTagAction.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestAutoCreateIcebergTagAction.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
-import com.netease.arctic.api.config.TagConfiguration;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.TableTestBase;
 import com.netease.arctic.table.TableProperties;
+import org.apache.amoro.api.config.TagConfiguration;
 import org.apache.iceberg.ExpireSnapshots;
 import org.apache.iceberg.Snapshot;
 import org.apache.iceberg.SnapshotRef;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpire.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpire.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpire.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpire.java
index ca805f269..c9d7f2d33 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpire.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpire.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import static com.netease.arctic.BasicTableTestHelper.PRIMARY_KEY_SPEC;
 import static com.netease.arctic.BasicTableTestHelper.SPEC;
@@ -24,26 +24,26 @@ import static com.netease.arctic.BasicTableTestHelper.SPEC;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
-import com.netease.arctic.api.config.DataExpirationConfig;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.data.PrimaryKeyedFile;
 import com.netease.arctic.io.MixedDataTestHelpers;
-import com.netease.arctic.server.optimizing.OptimizingTestHelpers;
-import com.netease.arctic.server.optimizing.scan.KeyedTableFileScanHelper;
-import com.netease.arctic.server.optimizing.scan.TableFileScanHelper;
-import com.netease.arctic.server.optimizing.scan.UnkeyedTableFileScanHelper;
-import com.netease.arctic.server.table.KeyedTableSnapshot;
-import com.netease.arctic.server.table.executor.ExecutorTestBase;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.utils.CompatiblePropertyUtil;
 import com.netease.arctic.utils.ContentFiles;
+import org.apache.amoro.api.config.DataExpirationConfig;
+import org.apache.amoro.server.optimizing.OptimizingTestHelpers;
+import org.apache.amoro.server.optimizing.scan.KeyedTableFileScanHelper;
+import org.apache.amoro.server.optimizing.scan.TableFileScanHelper;
+import org.apache.amoro.server.optimizing.scan.UnkeyedTableFileScanHelper;
+import org.apache.amoro.server.table.KeyedTableSnapshot;
+import org.apache.amoro.server.table.executor.ExecutorTestBase;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.commons.lang.StringUtils;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DeleteFile;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpireHive.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpireHive.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpireHive.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpireHive.java
index be41291f8..48b502b90 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpireHive.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpireHive.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpireIceberg.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpireIceberg.java
similarity index 98%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpireIceberg.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpireIceberg.java
index 96dbe2dec..fb4f7f587 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpireIceberg.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestDataExpireIceberg.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import static com.netease.arctic.BasicTableTestHelper.SPEC;
 
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileClean.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileClean.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileClean.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileClean.java
index 822f0b96d..3d4368e09 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileClean.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileClean.java
@@ -16,26 +16,26 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
-import static com.netease.arctic.server.optimizing.maintainer.IcebergTableMaintainer.DATA_FOLDER_NAME;
-import static com.netease.arctic.server.optimizing.maintainer.IcebergTableMaintainer.FLINK_JOB_ID;
+import static org.apache.amoro.server.optimizing.maintainer.IcebergTableMaintainer.DATA_FOLDER_NAME;
+import static org.apache.amoro.server.optimizing.maintainer.IcebergTableMaintainer.FLINK_JOB_ID;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.config.TableConfiguration;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.data.ChangeAction;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.executor.ExecutorTestBase;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.TableFileUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.executor.ExecutorTestBase;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.GenericBlobMetadata;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanHive.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileCleanHive.java
similarity index 95%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanHive.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileCleanHive.java
index 4ada536b9..3d2db2e3a 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanHive.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileCleanHive.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
-import static com.netease.arctic.server.optimizing.maintainer.IcebergTableMaintainer.DATA_FOLDER_NAME;
+import static org.apache.amoro.server.optimizing.maintainer.IcebergTableMaintainer.DATA_FOLDER_NAME;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
index d9b0dc761..f71cf5e0c 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpire.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpire.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpire.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpire.java
index a1306dbec..3502e65e1 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpire.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpire.java
@@ -16,30 +16,30 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
-import static com.netease.arctic.server.optimizing.maintainer.IcebergTableMaintainer.FLINK_MAX_COMMITTED_CHECKPOINT_ID;
 import static com.netease.arctic.utils.ArcticTableUtil.BLOB_TYPE_OPTIMIZED_SEQUENCE_EXIST;
+import static org.apache.amoro.server.optimizing.maintainer.IcebergTableMaintainer.FLINK_MAX_COMMITTED_CHECKPOINT_ID;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.config.TableConfiguration;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.data.ChangeAction;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.optimizing.OptimizingProcess;
-import com.netease.arctic.server.optimizing.OptimizingStatus;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.table.executor.ExecutorTestBase;
 import com.netease.arctic.table.BaseTable;
 import com.netease.arctic.table.KeyedTable;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.ArcticTableUtil;
 import com.netease.arctic.utils.StatisticsFileUtil;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.TableConfiguration;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.optimizing.OptimizingProcess;
+import org.apache.amoro.server.optimizing.OptimizingStatus;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.table.executor.ExecutorTestBase;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpireHive.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpireHive.java
similarity index 99%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpireHive.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpireHive.java
index e1e208884..33908b978 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpireHive.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpireHive.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpireIceberg.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpireIceberg.java
similarity index 96%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpireIceberg.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpireIceberg.java
index c3b08eba2..c83b555e4 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestSnapshotExpireIceberg.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/maintainer/TestSnapshotExpireIceberg.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.maintainer;
+package org.apache.amoro.server.optimizing.maintainer;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/MixedTablePlanTestBase.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/MixedTablePlanTestBase.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/MixedTablePlanTestBase.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/MixedTablePlanTestBase.java
index fc8ecf9eb..08e1740cb 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/MixedTablePlanTestBase.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/MixedTablePlanTestBase.java
@@ -16,27 +16,27 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.TableTestHelper;
-import com.netease.arctic.api.ServerTableIdentifier;
-import com.netease.arctic.api.config.OptimizingConfig;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.catalog.TableTestBase;
 import com.netease.arctic.data.DataTreeNode;
 import com.netease.arctic.data.PrimaryKeyedFile;
 import com.netease.arctic.io.MixedDataTestHelpers;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
-import com.netease.arctic.server.ArcticServiceConstants;
-import com.netease.arctic.server.dashboard.utils.AmsUtil;
-import com.netease.arctic.server.optimizing.OptimizingTestHelpers;
-import com.netease.arctic.server.optimizing.scan.TableFileScanHelper;
-import com.netease.arctic.server.table.TableRuntime;
-import com.netease.arctic.server.utils.IcebergTableUtil;
 import com.netease.arctic.table.TableProperties;
 import com.netease.arctic.table.UnkeyedTable;
 import com.netease.arctic.utils.ArcticDataFiles;
+import org.apache.amoro.api.ServerTableIdentifier;
+import org.apache.amoro.api.config.OptimizingConfig;
 import org.apache.amoro.hive.optimizing.MixFormatRewriteExecutorFactory;
+import org.apache.amoro.server.ArcticServiceConstants;
+import org.apache.amoro.server.dashboard.utils.AmsUtil;
+import org.apache.amoro.server.optimizing.OptimizingTestHelpers;
+import org.apache.amoro.server.optimizing.scan.TableFileScanHelper;
+import org.apache.amoro.server.table.TableRuntime;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DeleteFile;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveKeyedPartitionPlan.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
index 3efd94d41..648e14ae6 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
@@ -24,11 +24,11 @@ import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.properties.HiveTableProperties;
-import com.netease.arctic.server.optimizing.OptimizingTestHelpers;
 import org.apache.amoro.hive.TestHMS;
 import org.apache.amoro.hive.catalog.HiveCatalogTestHelper;
 import org.apache.amoro.hive.catalog.HiveTableTestHelper;
 import org.apache.amoro.hive.table.SupportHive;
+import org.apache.amoro.server.optimizing.OptimizingTestHelpers;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.data.Record;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveOptimizingEvaluator.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveOptimizingEvaluator.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveOptimizingEvaluator.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveOptimizingEvaluator.java
index c79bddcc5..15fe069bc 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveOptimizingEvaluator.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveOptimizingEvaluator.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
similarity index 97%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
index 980ba63fa..7d3efafca 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
@@ -16,18 +16,18 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.properties.HiveTableProperties;
-import com.netease.arctic.server.optimizing.OptimizingTestHelpers;
 import org.apache.amoro.hive.TestHMS;
 import org.apache.amoro.hive.catalog.HiveCatalogTestHelper;
 import org.apache.amoro.hive.catalog.HiveTableTestHelper;
 import org.apache.amoro.hive.table.SupportHive;
+import org.apache.amoro.server.optimizing.OptimizingTestHelpers;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.data.Record;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestIcebergPartitionPlan.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestIcebergPartitionPlan.java
similarity index 92%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestIcebergPartitionPlan.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestIcebergPartitionPlan.java
index dfdeaadbc..d4497bffa 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestIcebergPartitionPlan.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestIcebergPartitionPlan.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
@@ -25,9 +25,9 @@ import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.optimizing.IcebergRewriteExecutorFactory;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
-import com.netease.arctic.server.optimizing.scan.IcebergTableFileScanHelper;
-import com.netease.arctic.server.optimizing.scan.TableFileScanHelper;
-import com.netease.arctic.server.utils.IcebergTableUtil;
+import org.apache.amoro.server.optimizing.scan.IcebergTableFileScanHelper;
+import org.apache.amoro.server.optimizing.scan.TableFileScanHelper;
+import org.apache.amoro.server.utils.IcebergTableUtil;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestKeyedPartitionPlan.java b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestKeyedPartitionPlan.java
similarity index 96%
rename from ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestKeyedPartitionPlan.java
rename to ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestKeyedPartitionPlan.java
index 70c12f518..b88913e18 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestKeyedPartitionPlan.java
+++ b/ams/server/src/test/java/org/apache/amoro/server/optimizing/plan/TestKeyedPartitionPlan.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.netease.arctic.server.optimizing.plan;
+package org.apache.amoro.server.optimizing.plan;
 
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
@@ -24,11 +24,11 @@ import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.data.ChangeAction;
... 897 lines suppressed ...