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

xxubai pushed a change to branch 0.9.x
in repository https://gitbox.apache.org/repos/asf/amoro.git


    from 7a65790f4 [0.9.x][Hotfix] Force ReachableFileCleanup when snapshots 
exist outside main ancestry (backport #4231) (#4241)
     add 75dd6570c [AMORO-4208] Refactor orphan-files-cleaning via 
ProcessFactory plugin (#4209)
     add 0c5d3d84c [AMORO-4216] Refactor dangling-delete-files-cleaning via 
ProcessFactory plugin (#4214)
     add 22092632f [Hotfix] Update release validation instructions to use 
./mvnw for building (#4222)
     add cba754f59 [AMORO-4220] [Improvement] Support BETWEEN and reversed 
comparison SQL filters in ExpressionUtil. (#4221)
     add 1d4bc38be [AMORO-4223][ams] Fix AMS startup crash when recovering 
Iceberg maintenance processes (#4224)
     add 38ef38134 [AMORO-4215] Refactor data expiring via ProcessFactory 
plugin (#4218)
     add 467930937 [hotfix] Unify action names, pool names, and constants for 
SnapshotsExpiringProcess and OrphanFilesCleaningProcess (#4225)
     add e75b4a0b3 [AMORO-4186] Add support for Parquet row-group merging in 
IcebergRewriteExecutor (#4188)
     add 23b0ab98e [AMORO-4217] Clean up invalid code and parameters left over 
from the snapshot-expiring refactoring (#4226)
     add 99fcc0889 [AMORO-4227] Refactor auto-creating iceberg tags via 
ProcessFactory plugin (#4228)
     add be6663bcf [AMORO-4229] Refactor synchronizing Hive tables process via 
ProcessFactory plugin (#4230)
     add d8f379346 [Hotfix] Force ReachableFileCleanup when snapshots exist 
outside main ancestry (#4231)
     add 4ed2e91e3 [AMORO-4236]  Splitting the “Optimizing” tab into the 
“Optimizing” tab,“Cleanup” tab and “Profiling” tab (#4238)
     add c812511fb [AMORO-4242][Helm] Add Gateway API HTTPRoute support to the 
Amoro chart (#4243)
     add acf8ef47a [AMORO-4246] Refactor process data expiring via 
ProcessFactory plugin (#4247)
     add 374ed06bd Revert "[AMORO-4246] Refactor process data expiring via 
ProcessFactory plugin" (#4252)
     add b3bf85ab5 [hotfix] Cleanup empty columns from Cleanup and Profiling 
pages (#4260)
     add 675c222c3 [AMORO-4257][AMS] Fix duplicate process ID caused by 
multiple SnowflakeIdGenerator instances (#4258)
     add bc83f0834 Fix expireSnapshots fails with IllegalArgumentException on 
object-store-backed tables (#4259)
     add 9126f7318 [AMORO-3853] Support Java 17 build for Amoro (#4244)
     add 2b3027d9c [AMORO-4211] Fix legacy Flink config loading (#4249)
     add d1dca2749 [AMORO-3837] Integrate lance format (#4051)
     add 89d27bcd6 [AMORO-4198][optimizer] Support graceful shutdown for 
in-progress tasks (#4197)
     add 498ea2716 [AMORO-4263] Persist cleanup operation metrics for Dashboard 
display (#4265)
     add 8b03fec11 [AMORO-4253] AIP-5 Phase 1: dynamic allocation configuration 
and validation (#4254)
     add 27ae8d55f [AMORO-4235] Recognize stale optimizer responses on the AMS 
side (#4261)
     add 6318c4084 [AMORO-4269] Refactor Iceberg thread pool initialization and 
scope (#4270)
     add 92187c525 Change project version to 0.9.0-incubating
     add 27f19d58d [hotfix] Change project version to 0.9.0-incubating
     add 7aac7fa42 [hotfix] fix helm chart to 0.9.0-incubating and release guide
     add a93a32b4d [hotfix] fix lance maven pom to 0.9.0-incubating
     new 30580a3ae Merge remote-tracking branch 'origin/0.9.0-rc4' into 0.9.x

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/core-hadoop3-ci.yml              |   7 +-
 README.md                                          |   2 +-
 amoro-ams/pom.xml                                  |  36 ++
 .../apache/amoro/server/AmoroManagementConf.java   |  48 ---
 .../amoro/server/AmoroManagementConfValidator.java |   8 -
 .../apache/amoro/server/AmoroServiceContainer.java |  15 +-
 .../amoro/server/DefaultOptimizingService.java     |  28 +-
 .../amoro/server/catalog/CatalogBuilder.java       |  12 +-
 .../amoro/server/dashboard/DashboardServer.java    |   4 +-
 .../dashboard/MixedAndIcebergTableDescriptor.java  |  88 ++++-
 .../server/dashboard/ServerTableDescriptor.java    |  14 +-
 .../dashboard/controller/CatalogController.java    |  20 +-
 .../controller/OptimizerGroupController.java       |  18 +-
 .../dashboard/controller/TableController.java      |  25 +-
 .../server/manager/AbstractOptimizerContainer.java |   5 +
 .../server/manager/FlinkOptimizerContainer.java    |   6 +-
 .../manager/KubernetesOptimizerContainer.java      |  46 ++-
 .../amoro/server/optimizing/TaskRuntime.java       |  98 +++++-
 .../optimizing/dra/DynamicAllocationConfig.java    | 362 ++++++++++++++++++++
 .../persistence/mapper/TableProcessMapper.java     |   2 +
 .../server/process/DefaultTableProcessStore.java   |  50 +--
 .../amoro/server/process/TableProcessMeta.java     |   4 +-
 .../DanglingDeleteFilesCleaningProcess.java        |   6 +-
 .../process/iceberg/DataExpiringProcess.java       |   6 +-
 .../iceberg/HiveCommitSyncProcess.java}            |  66 ++--
 .../process/iceberg/IcebergProcessFactory.java     |  57 +++-
 .../iceberg/OrphanFilesCleaningProcess.java        |   6 +-
 .../process/iceberg/SnapshotsExpiringProcess.java  |  10 +-
 ...ngProcess.java => TagsAutoCreatingProcess.java} |  18 +-
 .../server/scheduler/PeriodicTableScheduler.java   | 121 +------
 .../scheduler/inline/InlineTableExecutors.java     |  22 --
 .../inline/SnapshotsExpiringExecutor.java          |  86 -----
 .../scheduler/inline/TagsAutoCreatingExecutor.java |  76 -----
 .../amoro/server/table/DefaultTableRuntime.java    |  27 --
 .../server/table/cleanup/CleanupOperation.java     |  27 --
 .../amoro/server/utils/IcebergTableUtil.java       |   3 +-
 .../amoro/server/utils/SnowflakeIdGenerator.java   |   3 +
 .../apache/amoro/server/AMSServiceTestBase.java    |   3 +
 .../org/apache/amoro/server/AmsEnvironment.java    |   1 -
 .../amoro/server/TestAmoroManagementConf.java      |   5 -
 .../server/TestAmoroManagementConfValidator.java   |  16 -
 .../amoro/server/TestDefaultOptimizingService.java |  47 ++-
 .../amoro/server/TestOptimizerGroupController.java |  44 +++
 .../amoro/server/TestOptimizerGroupKeeper.java     |  61 ++++
 .../TestIcebergServerTableDescriptor.java          | 117 ++++++-
 .../manager/TestFlinkOptimizerContainer.java       |  23 ++
 .../manager/TestKubernetesOptimizerContainer.java  | 277 +++++++++++++++-
 .../server/optimizing/BaseOptimizingChecker.java   |   6 +-
 .../server/optimizing/TestOptimizingQueue.java     | 115 +++++++
 .../dra/TestDynamicAllocationConfig.java           | 245 ++++++++++++++
 .../process/iceberg/TestIcebergProcessFactory.java |  29 ++
 .../inline/PeriodicTableSchedulerTestBase.java     |  82 -----
 .../inline/TestConfigurableIntervalExecutors.java  |  34 +-
 .../inline/TestPeriodicTableSchedulerCleanup.java  | 250 --------------
 .../inline/TestProcessDataExpiringExecutor.java    |   3 +-
 .../src/test/resources/config-with-units.yaml      |  22 --
 .../src/test/resources/config-without-units.yaml   |   3 -
 .../org/apache/amoro/CommonUnifiedCatalog.java     |   6 +-
 .../main/java/org/apache/amoro/IcebergActions.java |   3 +-
 .../java/org/apache/amoro/OptimizerProperties.java |  60 +++-
 .../main/java/org/apache/amoro/TableFormat.java    |   1 +
 .../apache/amoro/maintainer/TableMaintainer.java   |  14 +-
 .../apache/amoro/process/StagedTaskDescriptor.java |   4 +
 .../table/descriptor/FormatTableDescriptor.java    |  21 +-
 .../descriptor/ProcessCategory.java}               |  49 ++-
 .../apache/amoro/MockAmoroManagementServer.java    |  15 +
 .../amoro/process/TestLocalExecutionEngine.java    |   4 +
 .../org/apache/amoro/utils/JacksonUtilTest.java    |   6 +-
 amoro-format-hudi/pom.xml                          |   2 -
 .../amoro/formats/hudi/HudiTableDescriptor.java    |  25 +-
 .../iceberg/maintainer/IcebergTableMaintainer.java | 101 ++++--
 .../iceberg/maintainer/MixedTableMaintainer.java   |  74 ++++-
 .../formats/iceberg/utils/RollingFileCleaner.java  |  55 +--
 .../optimizing/AbstractRewriteFilesExecutor.java   |   2 +-
 .../amoro/optimizing/IcebergRewriteExecutor.java   | 358 ++++++++++++++++++++
 .../amoro/optimizing/ParquetFileMergeRunner.java   | 198 +++++++++++
 .../apache/amoro/optimizing/TaskProperties.java    |   7 +
 .../org/apache/amoro/table/TableProperties.java    |  12 +
 .../org/apache/amoro/utils/IcebergThreadPools.java | 153 ++++++---
 .../java/org/apache/amoro/utils/TableFileUtil.java |   6 +
 .../apache/iceberg/parquet/ParquetIOBridge.java    |  22 +-
 .../optimizing/IcebergRewriteExecutorTest.java     | 369 +++++++++++++++++++++
 .../apache/amoro/utils/TestIcebergThreadPools.java |  65 ++++
 .../pom.xml                                        |  63 ++--
 .../amoro/formats/lance/LanceCatalogFactory.java   |  29 +-
 .../formats/lance/LanceDirectoryV1Catalog.java     | 215 ++++++++++++
 .../org/apache/amoro/formats/lance/LanceTable.java |  44 +--
 .../amoro/formats/lance/LanceTableDescriptor.java  | 329 ++++++++++++++++++
 .../services/org.apache.amoro.FormatCatalogFactory |   2 +-
 ...he.amoro.table.descriptor.FormatTableDescriptor |   2 +-
 .../amoro-mixed-flink-common/pom.xml               |  10 +-
 .../interceptor/KerberosInvocationHandler.java     |   1 -
 .../hybrid/reader/MixedFormatSourceReader.java     |  38 ++-
 .../org/apache/amoro/flink/table/FlinkSource.java  |  35 +-
 .../flink/table/KerberosAwareInputFormat.java      | 165 +++++++++
 .../amoro/flink/table/MixedFormatTableLoader.java  | 247 +++++++++++++-
 .../table/UnkeyedInputFormatOperatorFactory.java   |   8 +-
 .../table/UnkeyedStreamingReaderOperator.java      | 175 ++++++++++
 .../amoro/flink/util/FlinkClassReflectionUtil.java |  65 ----
 .../apache/amoro/flink/util/IcebergClassUtil.java  | 119 +++----
 .../org/apache/amoro/flink/write/FlinkSink.java    |   8 +-
 .../apache/amoro/flink/table/TestWatermark.java    |  66 +---
 .../amoro/flink/util/TestIcebergClassUtil.java     |  75 +++++
 .../amoro/flink/write/TestAutomaticLogWriter.java  |  14 +-
 .../flink/write/TestMixedFormatFileWriter.java     |  11 +-
 amoro-format-mixed/amoro-mixed-trino/pom.xml       |   1 -
 amoro-format-paimon/pom.xml                        |   9 +
 .../formats/paimon/PaimonTableDescriptor.java      |  34 +-
 .../common/AbstractOptimizerOperator.java          |  44 ++-
 .../apache/amoro/optimizer/common/Optimizer.java   |  88 ++++-
 .../amoro/optimizer/common/OptimizerConfig.java    |  18 +
 .../amoro/optimizer/common/OptimizerExecutor.java  |  39 ++-
 .../amoro/optimizer/common/OptimizerToucher.java   |  55 ++-
 .../amoro/optimizer/common/OptimizerTestBase.java  |   1 +
 .../common/TestAbstractOptimizerOperator.java      |  57 ++++
 .../amoro/optimizer/common/TestOptimizer.java      | 139 ++++++++
 .../optimizer/common/TestOptimizerExecutor.java    | 135 ++++++++
 .../optimizer/common/TestOptimizerToucher.java     |  32 ++
 .../amoro/optimizer/flink/FlinkExecutor.java       |  94 +++++-
 .../amoro/optimizer/flink/FlinkOptimizer.java      |   3 +-
 .../optimizer/flink/FlinkOptimizerExecutor.java    |  21 ++
 .../amoro/optimizer/flink/TestFlinkExecutor.java   | 178 ++++++++++
 .../flink/TestFlinkOptimizerExecutor.java          |  66 ++++
 .../amoro/optimizer/spark/SparkOptimizer.java      |  26 ++
 .../optimizer/standalone/StandaloneOptimizer.java  |  24 ++
 amoro-web/mock/modules/table.js                    |  33 +-
 .../{views/Home.vue => assets/icons/svg/lance.svg} |  16 +-
 amoro-web/src/language/en.ts                       |   5 +
 amoro-web/src/language/zh.ts                       |   5 +
 amoro-web/src/services/table.service.ts            |  14 +-
 amoro-web/src/types/common.type.ts                 |   1 +
 .../{Home.vue => tables/components/Cleanup.vue}    |  15 +-
 .../src/views/tables/components/Optimizing.vue     |  51 ++-
 .../{Home.vue => tables/components/Profiling.vue}  |  15 +-
 amoro-web/src/views/tables/index.vue               |   6 +
 charts/amoro/templates/amoro-configmap.yaml        |  13 -
 charts/amoro/templates/amoro-httproute.yaml        |  54 +++
 charts/amoro/tests/amoro-httproute_test.yaml       | 192 +++++++++++
 charts/amoro/values.yaml                           |  48 +++
 dev/deps/dependencies-hadoop-2-spark-3.3           |  13 +-
 dev/deps/dependencies-hadoop-3-spark-3.5           |  13 +-
 dist/src/main/amoro-bin/bin/optimizer.sh           |   2 +-
 dist/src/main/amoro-bin/conf/config.yaml           |  13 -
 .../amoro-bin/conf/plugins/execute-engines.yaml    |   4 +-
 .../amoro-bin/conf/plugins/process-factories.yaml  |   4 +
 docs/admin-guides/deployment.md                    |  10 +-
 docs/admin-guides/managing-optimizers.md           |   4 +
 docs/configuration/ams-config.md                   |   8 -
 docs/user-guides/configurations.md                 |  51 +--
 pom.xml                                            |  81 ++++-
 150 files changed, 6297 insertions(+), 1606 deletions(-)
 create mode 100644 
amoro-ams/src/main/java/org/apache/amoro/server/optimizing/dra/DynamicAllocationConfig.java
 rename 
amoro-ams/src/main/java/org/apache/amoro/server/{scheduler/inline/HiveCommitSyncExecutor.java
 => process/iceberg/HiveCommitSyncProcess.java} (60%)
 copy 
amoro-ams/src/main/java/org/apache/amoro/server/process/iceberg/{DataExpiringProcess.java
 => TagsAutoCreatingProcess.java} (74%)
 delete mode 100644 
amoro-ams/src/main/java/org/apache/amoro/server/scheduler/inline/SnapshotsExpiringExecutor.java
 delete mode 100644 
amoro-ams/src/main/java/org/apache/amoro/server/scheduler/inline/TagsAutoCreatingExecutor.java
 delete mode 100644 
amoro-ams/src/main/java/org/apache/amoro/server/table/cleanup/CleanupOperation.java
 create mode 100644 
amoro-ams/src/test/java/org/apache/amoro/server/optimizing/dra/TestDynamicAllocationConfig.java
 delete mode 100644 
amoro-ams/src/test/java/org/apache/amoro/server/scheduler/inline/PeriodicTableSchedulerTestBase.java
 delete mode 100644 
amoro-ams/src/test/java/org/apache/amoro/server/scheduler/inline/TestPeriodicTableSchedulerCleanup.java
 copy 
amoro-common/src/main/java/org/apache/amoro/{authentication/BasicPrincipal.java 
=> table/descriptor/ProcessCategory.java} (52%)
 create mode 100644 
amoro-format-iceberg/src/main/java/org/apache/amoro/optimizing/ParquetFileMergeRunner.java
 copy 
amoro-format-mixed/amoro-mixed-hive/src/main/java/org/apache/iceberg/parquet/AdaptHiveApplyNameMapping.java
 => 
amoro-format-iceberg/src/main/java/org/apache/iceberg/parquet/ParquetIOBridge.java
 (53%)
 create mode 100644 
amoro-format-iceberg/src/test/java/org/apache/amoro/utils/TestIcebergThreadPools.java
 copy {amoro-format-paimon => amoro-format-lance}/pom.xml (58%)
 mode change 100644 => 100755
 copy 
amoro-format-hudi/src/main/java/org/apache/amoro/formats/hudi/HudiCatalogFactory.java
 => 
amoro-format-lance/src/main/java/org/apache/amoro/formats/lance/LanceCatalogFactory.java
 (64%)
 mode change 100644 => 100755
 create mode 100755 
amoro-format-lance/src/main/java/org/apache/amoro/formats/lance/LanceDirectoryV1Catalog.java
 copy 
amoro-format-paimon/src/main/java/org/apache/amoro/formats/paimon/PaimonTable.java
 => 
amoro-format-lance/src/main/java/org/apache/amoro/formats/lance/LanceTable.java 
(58%)
 mode change 100644 => 100755
 create mode 100755 
amoro-format-lance/src/main/java/org/apache/amoro/formats/lance/LanceTableDescriptor.java
 copy {amoro-format-hudi => 
amoro-format-lance}/src/main/resources/META-INF/services/org.apache.amoro.FormatCatalogFactory
 (94%)
 copy {amoro-format-hudi => 
amoro-format-lance}/src/main/resources/META-INF/services/org.apache.amoro.table.descriptor.FormatTableDescriptor
 (93%)
 create mode 100644 
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/table/KerberosAwareInputFormat.java
 create mode 100644 
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedStreamingReaderOperator.java
 delete mode 100644 
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/util/FlinkClassReflectionUtil.java
 create mode 100644 
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/test/java/org/apache/amoro/flink/util/TestIcebergClassUtil.java
 create mode 100644 
amoro-optimizer/amoro-optimizer-common/src/test/java/org/apache/amoro/optimizer/common/TestAbstractOptimizerOperator.java
 create mode 100644 
amoro-optimizer/amoro-optimizer-flink/src/test/java/org/apache/amoro/optimizer/flink/TestFlinkExecutor.java
 create mode 100644 
amoro-optimizer/amoro-optimizer-flink/src/test/java/org/apache/amoro/optimizer/flink/TestFlinkOptimizerExecutor.java
 copy amoro-web/src/{views/Home.vue => assets/icons/svg/lance.svg} (73%)
 mode change 100644 => 100755
 copy amoro-web/src/views/{Home.vue => tables/components/Cleanup.vue} (53%)
 copy amoro-web/src/views/{Home.vue => tables/components/Profiling.vue} (53%)
 create mode 100644 charts/amoro/templates/amoro-httproute.yaml
 create mode 100644 charts/amoro/tests/amoro-httproute_test.yaml

Reply via email to