This is an automated email from the ASF dual-hosted git repository.
roryqi pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
from 8dae37b512 [#14037] docs: Design schema-level Semantic Model metric
discovery (#14038)
new be91ee91e7 [#13800] feat(policy): Maintenance execution peers on
Iceberg contents (#13885)
new 6869fbb797 [#13800] feat(policy): Flat peer SerDe, DTO round-trips,
minIntervalMs defaults (#13887)
new 33151dbee7 [#13797] feat(tms): Add cluster-static
gravitinoAuth/ircAuth overlay bags (#13865)
new 88c3f0d12e [#14065] feat(tms): In-job recommenders and terminal
occupancy reclaim (#14054)
new 43e3933c8b [#13983] feat(tms): Register policy timeTrigger on the
expand scheduler (#13897)
new fb255f9885 [#13984] feat(tms): Nearest-policy resolver and expand
table enumerator (#14055)
new d5743b19ee [#14205] feat(tms): Before/after metrics and finish REST
for in-job actions (#14121)
new b27fe4d9a4 [#14227] refactor(policy): Align PolicyExecutionSpec with
module value-object conventions (#14228)
new f005473680 [#14215] feat(tms): Policy-expand pipeline into cron-job
enqueue API
new 02c746141e [#14216] feat(tms): Build enqueue-time jobConf specs for
cron
new c4ab2879a7 [#14217] feat(tms): Relational cron-job enqueue with
snapshot batches
new 116c974ad0 [#14020] feat(tms): Cron-pool submit pipeline and scheduler
pool wiring
new 0763327dc8 [#14218] feat(tms): Commit-chain collection and auth
consistency
new 3217b14f70 [#14219] feat(tms): Enqueue commit-job specs from IRC
updates
new 14350006d2 [#14220] docs(tms): Document enqueue-time commit-job specs
new 991788f35f [#14221] feat(tms): Built-in TMS Iceberg maintenance Spark
job
new 266db26cbc [#14222] refactor(tms): Rename plugins/tms to
plugins/maintenance and add plugin ITs
new 85725e52fe [#14222] test(tms): Add BaseIT expand→cron and IRC→commit
enqueue coverage
new 9788abefb6 [#14222] ci(tms): Wire TMS Test into Fork CI like idp-basic
new f356e785fe [#13760] fix(policy): Reconcile snapshot-expiration
thresholds with execution peers
The 20 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/scripts/fork-ci-status.cjs | 2 +-
.../workflows/backend-integration-test-action.yml | 1 +
.github/workflows/build.yml | 1 +
.github/workflows/cron-integration-test.yml | 17 +-
.github/workflows/fork-ci.yml | 12 +
.github/workflows/tms-test-action.yml | 101 +++
.github/workflows/tms-test.yml | 94 +++
.../policy/AbstractExecutablePolicyContent.java | 112 ++++
.../gravitino/policy/ExecutablePolicyContent.java | 16 +-
.../policy/IcebergDataCompactionContent.java | 78 ++-
.../policy/IcebergOrphanFileRemovalContent.java | 23 +-
.../policy/IcebergRewriteManifestsContent.java | 46 +-
.../policy/IcebergSnapshotExpirationContent.java | 38 +-
.../org/apache/gravitino/policy/PolicyContent.java | 11 +-
.../apache/gravitino/policy/PolicyContents.java | 213 +++++-
.../gravitino/policy/PolicyExecutionSpec.java | 246 +++++++
.../policy/TestIcebergRewriteManifestsContent.java | 13 +-
.../gravitino/policy/TestPolicyContents.java | 65 ++
.../gravitino/policy/TestPolicyExecutionSpec.java | 116 ++++
build.gradle.kts | 3 +-
.../gravitino/dto/policy/PolicyContentDTO.java | 501 +++++++++++++-
.../apache/gravitino/dto/util/DTOConverters.java | 46 +-
.../json/ExecutablePolicyContentSerde.java | 396 +++++++++++
.../java/org/apache/gravitino/json/JsonUtils.java | 49 +-
.../dto/policy/TestOrphanFileRemovalPolicyDTO.java | 29 +
.../apache/gravitino/dto/policy/TestPolicyDTO.java | 82 +++
...iteManifestsAndSnapshotExpirationPolicyDTO.java | 50 ++
conf/gravitino.conf.template | 16 +
.../maintenance/policy/MaintenanceAuthConfigs.java | 432 ++++++++++++
.../policy/MaintenanceMinIntervalConfigs.java | 142 ++++
.../policy/MaintenancePolicyDefinition.java | 62 ++
.../policy/MaintenancePolicyDefinitions.java | 100 +++
.../gravitino/policy/ObjectPolicyResolver.java | 132 +++-
.../gravitino/policy/hook/PolicyLifecycleHook.java | 88 +++
.../policy/hook/PolicyLifecycleHooks.java | 66 ++
.../relational/mapper/PolicyMetaMapper.java | 31 +
.../mapper/PolicyMetaSQLProviderFactory.java | 4 +
.../provider/base/PolicyMetaBaseSQLProvider.java | 27 +
.../gravitino/storage/relational/po/PolicyPO.java | 3 +
.../relational/service/PolicyMetaService.java | 91 ++-
.../relational/service/TableMetaService.java | 35 +
.../storage/relational/session/SqlSessions.java | 25 +-
.../apache/gravitino/tag/EffectiveTagResolver.java | 89 ++-
.../policy/TestMaintenanceAuthConfigs.java | 342 ++++++++++
.../policy/TestMaintenanceMinIntervalConfigs.java | 134 ++++
.../gravitino/policy/TestObjectPolicyResolver.java | 51 +-
.../policy/hook/TestPolicyLifecycleHooks.java | 59 ++
.../base/TestPolicyMetaBaseSQLProvider.java | 25 +-
.../relational/service/TestPolicyMetaService.java | 178 +++++
.../relational/service/TestTableMetaService.java | 18 +
.../storage/relational/utils/TestPOConverters.java | 149 ++++-
.../gravitino/tag/TestEffectiveTagResolver.java | 29 +
design-docs/table-maintenance-service-design.md | 162 +++--
docs/build.gradle.kts | 12 +
docs/gravitino-server-config.md | 12 +
docs/open-api/maintenance/maintenance.yaml | 224 +++++++
docs/open-api/maintenance/openapi.yaml | 69 ++
.../optimizer-configuration.md | 195 +++++-
maintenance/jobs/build.gradle.kts | 2 +
.../jobs/BuiltInJobTemplateProvider.java | 4 +-
.../jobs/MaintenanceActionHttpClient.java | 368 ++++++++++
.../jobs/iceberg/IcebergMaintenanceJob.java | 740 +++++++++++++++++++++
.../jobs/iceberg/MaintenanceTriggerGate.java | 171 +++++
.../jobs/TestBuiltInJobTemplateProvider.java | 6 +
.../jobs/TestMaintenanceActionHttpClient.java | 141 ++++
.../jobs/iceberg/TestIcebergMaintenanceJob.java | 83 +++
.../jobs/iceberg/TestMaintenanceTriggerGate.java | 67 ++
.../build.gradle.kts | 8 +-
.../requests/MaintenanceActionFinishRequest.java | 88 +++
.../requests/MaintenanceActionMetricsRequest.java | 82 +++
maintenance/optimizer-api/build.gradle.kts | 3 +
.../common/util/GravitinoAuthSettings.java | 42 ++
.../compaction/CompactionTriggerEvaluator.java | 76 +++
.../recommender/util/ExpressionEvaluator.java | 0
.../recommender/util/QLExpressionEvaluator.java | 4 +
plugins/{tms => maintenance}/build.gradle.kts | 23 +-
.../maintenance/MaintenanceMetricsService.java | 218 ++++++
.../maintenance/TableMaintenanceConfig.java | 0
.../injob/AlwaysMaintainInJobRecommender.java} | 30 +-
.../injob/CompactionInJobRecommender.java | 122 ++++
.../maintenance/injob/InJobGateOutcome.java | 0
.../maintenance/injob/InJobRecommender.java | 29 +-
.../gravitino/maintenance/injob/MetricsJson.java | 70 ++
.../maintenance/injob/RecommendDecision.java | 5 +-
.../gravitino/maintenance/injob/SnapshotHead.java | 0
.../injob/TableMaintenanceInJobPipeline.java | 0
.../injob/TableMaintenanceInJobSampler.java | 6 +-
.../injob/TriggerExprInJobRecommender.java | 129 ++++
.../injob/TypeDispatchingInJobRecommender.java | 138 ++++
.../listener/PostCommitMaintenanceListener.java | 171 +++++
.../maintenance/occupancy/OccupancyGate.java | 83 +--
.../policy/PolicyExpandLifecycleHook.java | 203 ++++++
.../maintenance/policy/PolicyExpandReconciler.java | 118 ++++
.../maintenance/policy/PolicyExpandRegistrar.java | 332 +++++++++
.../scheduler/AutocommitDataSources.java | 129 ++++
.../maintenance/scheduler/MaintenanceJobSpec.java | 349 ++++++++++
.../scheduler/MaintenanceJobSpecFactory.java | 285 ++++++++
.../scheduler/TableMaintenanceSchedulerPools.java | 288 ++++++++
.../scheduler/job/commit/CollectedCommitChain.java | 56 ++
.../job/commit/CommitAuthConsistency.java | 179 +++++
.../scheduler/job/commit/CommitChainCollector.java | 195 ++++++
.../scheduler/job/commit/CommitChainMember.java | 64 ++
.../scheduler/job/commit/CommitJobScheduler.java} | 24 +-
.../scheduler/job/commit/CommitJobSpecFactory.java | 200 ++++++
.../job/commit/CommitJobUpsertResult.java} | 27 +-
.../scheduler/job/commit/CommitOccupancyGate.java | 65 ++
.../commit/MaintenanceCommitSubmitPipeline.java | 192 ++++++
.../job/commit/RelationalCommitJobScheduler.java | 205 ++++++
.../maintenance/scheduler/job/cron/CronJobIds.java | 206 ++++++
.../scheduler/job/cron/CronJobScheduler.java | 49 ++
.../scheduler/job/cron/CronSubmitGate.java} | 15 +-
.../job/cron/MaintenanceJobConfBuilder.java | 356 ++++++++++
.../job/cron/MaintenanceJobSubmitter.java | 73 ++
.../job/cron/MaintenanceJobTemplates.java | 95 +++
.../job/cron/MaintenanceSparkSubmitPipeline.java | 214 ++++++
.../scheduler/job/cron/MaintenanceTableRefs.java | 169 +++++
.../job/cron/PendingCronExpandOccupancyGate.java | 51 ++
.../job/cron/RelationalCronJobScheduler.java | 427 ++++++++++++
.../policy/expand/ExpandOccupancyGate.java} | 19 +-
.../policy/expand/ExpandTableCandidate.java | 88 +++
.../expand/NearestMaintenancePolicyResolver.java | 184 +++++
.../expand/NearestPolicyTableEnumerator.java | 310 +++++++++
.../scheduler/policy/expand/PolicyExpandCrons.java | 47 ++
.../policy/expand/PolicyExpandPipeline.java | 196 ++++++
.../policy/expand/PolicyTableEnumerator.java | 47 ++
.../maintenance/storage/MetalakeNames.java | 54 ++
.../mapper/TableMaintenanceActionMapper.java | 46 +-
.../TableMaintenanceActionSQLProviderFactory.java | 82 ++-
.../storage/mapper/TableSnapshotMetricsMapper.java | 0
.../TableSnapshotMetricsSQLProviderFactory.java | 0
.../MaintenanceMapperPackageProvider.java} | 4 +-
.../TableMaintenanceActionBaseSQLProvider.java | 118 +++-
.../base/TableSnapshotMetricsBaseSQLProvider.java | 0
.../h2/TableMaintenanceActionH2Provider.java | 0
.../h2/TableSnapshotMetricsH2Provider.java | 0
.../TableMaintenanceActionPostgreSQLProvider.java | 0
.../TableSnapshotMetricsPostgreSQLProvider.java | 0
.../storage/po/TableMaintenanceActionPO.java | 0
.../storage/po/TableSnapshotMetricsPO.java | 0
.../storage/service/OccupancyClaim.java | 3 +-
.../service/TableMaintenanceActionMetaService.java | 337 +++++++++-
.../service/TableSnapshotMetricsMetaService.java | 0
.../maintenance/web/TableMaintenanceRESTUtils.java | 184 +++++
.../web/rest/TableMaintenanceActionOperations.java | 192 ++++++
.../web/rest/TableMaintenanceBinder.java} | 22 +-
.../rest/feature/TableMaintenanceRESTFeature.java | 70 +-
...elational.mapper.provider.MapperPackageProvider | 2 +-
.../injob/TestCompactionInJobRecommender.java | 64 ++
.../maintenance/injob/TestMetricsJson.java} | 30 +-
.../injob/TestTableMaintenanceInJobPipeline.java | 0
.../injob/TestTableMaintenanceInJobSampler.java | 0
.../injob/TestTriggerExprInJobRecommender.java | 55 ++
.../injob/TestTypeDispatchingInJobRecommender.java | 146 ++++
.../integration/test/IrcToCommitEnqueueIT.java | 176 +++++
.../test/MaintenanceSchedulerITSupport.java | 139 ++++
.../integration/test/PolicyExpandToCronIT.java | 163 +++++
.../test/TableMaintenanceActionRESTIT.java | 241 +++++++
.../TestPostCommitMaintenanceListener.java | 114 ++++
.../maintenance/occupancy/TestOccupancyGate.java | 133 ++++
.../policy/TestPolicyExpandLifecycleHook.java | 135 ++++
.../policy/TestPolicyExpandReconciler.java | 249 +++++++
.../policy/TestPolicyExpandRegistrar.java | 147 ++++
.../scheduler/SchedulerPoolTestHooks.java | 51 ++
.../scheduler/TestMaintenanceJobSpecFactory.java | 180 +++++
.../TestTableMaintenanceSchedulerPools.java | 9 +-
.../job/commit/TestCommitAuthConsistency.java | 145 ++++
.../job/commit/TestCommitJobSpecFactory.java | 172 +++++
.../TestMaintenanceCommitSubmitPipeline.java | 185 ++++++
.../commit/TestRelationalCommitJobScheduler.java | 190 ++++++
.../scheduler/job/cron/TestCronJobIds.java | 58 ++
.../scheduler/job/cron/TestCronJobScheduler.java | 324 +++++++++
.../job/cron/TestMaintenanceJobConfBuilder.java | 260 ++++++++
.../job/cron/TestMaintenanceJobTemplates.java | 57 ++
.../cron/TestMaintenanceSparkSubmitPipeline.java | 321 +++++++++
.../TestNearestMaintenancePolicyResolver.java | 163 +++++
.../expand/TestNearestPolicyTableEnumerator.java | 357 ++++++++++
.../policy/expand/TestPolicyExpandCrons.java} | 26 +-
.../policy/expand/TestPolicyExpandPipeline.java | 220 ++++++
.../storage/TableMaintenanceActionTestUtils.java | 0
.../TestMaintenanceMapperPackageProvider.java} | 10 +-
.../h2/TestTableMaintenanceActionH2Provider.java | 0
.../TestTableMaintenanceActionMetaService.java | 374 +++++++++++
.../TestTableSnapshotMetricsMetaService.java | 0
.../rest/TestTableMaintenanceActionOperations.java | 234 +++++++
.../feature/TestTableMaintenanceRESTFeature.java | 0
.../scheduler/TableMaintenanceSchedulerPools.java | 152 -----
.../maintenance/occupancy/TestOccupancyGate.java | 223 -------
.../TestTableMaintenanceActionMetaService.java | 103 ---
scripts/h2/schema-2.0.0-h2.sql | 2 +-
scripts/h2/upgrade-1.3.0-to-2.0.0-h2.sql | 2 +-
scripts/mysql/schema-2.0.0-mysql.sql | 2 +-
scripts/mysql/upgrade-1.3.0-to-2.0.0-mysql.sql | 2 +-
scripts/postgresql/schema-2.0.0-postgresql.sql | 2 +-
.../upgrade-1.3.0-to-2.0.0-postgresql.sql | 2 +-
settings.gradle.kts | 3 +-
195 files changed, 19492 insertions(+), 972 deletions(-)
create mode 100644 .github/workflows/tms-test-action.yml
create mode 100644 .github/workflows/tms-test.yml
create mode 100644
api/src/main/java/org/apache/gravitino/policy/AbstractExecutablePolicyContent.java
copy
plugins/tms/src/main/java/org/apache/gravitino/maintenance/injob/SnapshotHead.java
=> api/src/main/java/org/apache/gravitino/policy/ExecutablePolicyContent.java
(57%)
create mode 100644
api/src/main/java/org/apache/gravitino/policy/PolicyExecutionSpec.java
create mode 100644
api/src/test/java/org/apache/gravitino/policy/TestPolicyExecutionSpec.java
create mode 100644
common/src/main/java/org/apache/gravitino/json/ExecutablePolicyContentSerde.java
create mode 100644
core/src/main/java/org/apache/gravitino/maintenance/policy/MaintenanceAuthConfigs.java
create mode 100644
core/src/main/java/org/apache/gravitino/maintenance/policy/MaintenanceMinIntervalConfigs.java
create mode 100644
core/src/main/java/org/apache/gravitino/maintenance/policy/MaintenancePolicyDefinition.java
create mode 100644
core/src/main/java/org/apache/gravitino/maintenance/policy/MaintenancePolicyDefinitions.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/hook/PolicyLifecycleHook.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/hook/PolicyLifecycleHooks.java
create mode 100644
core/src/test/java/org/apache/gravitino/maintenance/policy/TestMaintenanceAuthConfigs.java
create mode 100644
core/src/test/java/org/apache/gravitino/maintenance/policy/TestMaintenanceMinIntervalConfigs.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/hook/TestPolicyLifecycleHooks.java
copy
plugins/tms/src/test/java/org/apache/gravitino/maintenance/web/rest/feature/TestTableMaintenanceRESTFeature.java
=>
core/src/test/java/org/apache/gravitino/storage/relational/mapper/provider/base/TestPolicyMetaBaseSQLProvider.java
(51%)
create mode 100644 docs/open-api/maintenance/maintenance.yaml
create mode 100644 docs/open-api/maintenance/openapi.yaml
create mode 100644
maintenance/jobs/src/main/java/org/apache/gravitino/maintenance/jobs/MaintenanceActionHttpClient.java
create mode 100644
maintenance/jobs/src/main/java/org/apache/gravitino/maintenance/jobs/iceberg/IcebergMaintenanceJob.java
create mode 100644
maintenance/jobs/src/main/java/org/apache/gravitino/maintenance/jobs/iceberg/MaintenanceTriggerGate.java
create mode 100644
maintenance/jobs/src/test/java/org/apache/gravitino/maintenance/jobs/TestMaintenanceActionHttpClient.java
create mode 100644
maintenance/jobs/src/test/java/org/apache/gravitino/maintenance/jobs/iceberg/TestIcebergMaintenanceJob.java
create mode 100644
maintenance/jobs/src/test/java/org/apache/gravitino/maintenance/jobs/iceberg/TestMaintenanceTriggerGate.java
copy maintenance/{optimizer-api => maintenance-common}/build.gradle.kts (88%)
create mode 100644
maintenance/maintenance-common/src/main/java/org/apache/gravitino/maintenance/dto/requests/MaintenanceActionFinishRequest.java
create mode 100644
maintenance/maintenance-common/src/main/java/org/apache/gravitino/maintenance/dto/requests/MaintenanceActionMetricsRequest.java
create mode 100644
maintenance/optimizer-api/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/compaction/CompactionTriggerEvaluator.java
rename maintenance/{optimizer =>
optimizer-api}/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/util/ExpressionEvaluator.java
(100%)
rename maintenance/{optimizer =>
optimizer-api}/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/util/QLExpressionEvaluator.java
(98%)
rename plugins/{tms => maintenance}/build.gradle.kts (74%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/MaintenanceMetricsService.java
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/TableMaintenanceConfig.java
(100%)
copy
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/injob/InJobRecommender.java
=>
maintenance/src/main/java/org/apache/gravitino/maintenance/injob/AlwaysMaintainInJobRecommender.java}
(58%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/injob/CompactionInJobRecommender.java
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/injob/InJobGateOutcome.java
(100%)
copy plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/injob/InJobRecommender.java
(54%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/injob/MetricsJson.java
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/injob/RecommendDecision.java
(89%)
copy plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/injob/SnapshotHead.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/injob/TableMaintenanceInJobPipeline.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/injob/TableMaintenanceInJobSampler.java
(93%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/injob/TriggerExprInJobRecommender.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/injob/TypeDispatchingInJobRecommender.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/listener/PostCommitMaintenanceListener.java
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/occupancy/OccupancyGate.java
(56%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/policy/PolicyExpandLifecycleHook.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/policy/PolicyExpandReconciler.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/policy/PolicyExpandRegistrar.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/AutocommitDataSources.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/MaintenanceJobSpec.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/MaintenanceJobSpecFactory.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/TableMaintenanceSchedulerPools.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CollectedCommitChain.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CommitAuthConsistency.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CommitChainCollector.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CommitChainMember.java
copy
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/injob/InJobRecommender.java
=>
maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CommitJobScheduler.java}
(53%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CommitJobSpecFactory.java
copy
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/injob/InJobRecommender.java
=>
maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CommitJobUpsertResult.java}
(55%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/CommitOccupancyGate.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/MaintenanceCommitSubmitPipeline.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/commit/RelationalCommitJobScheduler.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/CronJobIds.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/CronJobScheduler.java
copy
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/injob/SnapshotHead.java
=>
maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/CronSubmitGate.java}
(66%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/MaintenanceJobConfBuilder.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/MaintenanceJobSubmitter.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/MaintenanceJobTemplates.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/MaintenanceSparkSubmitPipeline.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/MaintenanceTableRefs.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/PendingCronExpandOccupancyGate.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/job/cron/RelationalCronJobScheduler.java
rename
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/injob/InJobRecommender.java
=>
maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/policy/expand/ExpandOccupancyGate.java}
(59%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/policy/expand/ExpandTableCandidate.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/policy/expand/NearestMaintenancePolicyResolver.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/policy/expand/NearestPolicyTableEnumerator.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/policy/expand/PolicyExpandCrons.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/policy/expand/PolicyExpandPipeline.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/scheduler/policy/expand/PolicyTableEnumerator.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/storage/MetalakeNames.java
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableMaintenanceActionMapper.java
(70%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableMaintenanceActionSQLProviderFactory.java
(70%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableSnapshotMetricsMapper.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableSnapshotMetricsSQLProviderFactory.java
(100%)
rename
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/TmsMapperPackageProvider.java
=>
maintenance/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/MaintenanceMapperPackageProvider.java}
(89%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/base/TableMaintenanceActionBaseSQLProvider.java
(65%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/base/TableSnapshotMetricsBaseSQLProvider.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TableMaintenanceActionH2Provider.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TableSnapshotMetricsH2Provider.java
(100%)
copy plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/postgresql/TableMaintenanceActionPostgreSQLProvider.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/postgresql/TableSnapshotMetricsPostgreSQLProvider.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/po/TableMaintenanceActionPO.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/po/TableSnapshotMetricsPO.java
(100%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/service/OccupancyClaim.java
(95%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/service/TableMaintenanceActionMetaService.java
(52%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/storage/service/TableSnapshotMetricsMetaService.java
(100%)
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/web/TableMaintenanceRESTUtils.java
create mode 100644
plugins/maintenance/src/main/java/org/apache/gravitino/maintenance/web/rest/TableMaintenanceActionOperations.java
rename
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/injob/SnapshotHead.java
=>
maintenance/src/main/java/org/apache/gravitino/maintenance/web/rest/TableMaintenanceBinder.java}
(64%)
rename plugins/{tms =>
maintenance}/src/main/java/org/apache/gravitino/maintenance/web/rest/feature/TableMaintenanceRESTFeature.java
(61%)
rename plugins/{tms =>
maintenance}/src/main/resources/META-INF/services/org.apache.gravitino.storage.relational.mapper.provider.MapperPackageProvider
(89%)
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/injob/TestCompactionInJobRecommender.java
copy
plugins/{tms/src/test/java/org/apache/gravitino/maintenance/web/rest/feature/TestTableMaintenanceRESTFeature.java
=>
maintenance/src/test/java/org/apache/gravitino/maintenance/injob/TestMetricsJson.java}
(52%)
rename plugins/{tms =>
maintenance}/src/test/java/org/apache/gravitino/maintenance/injob/TestTableMaintenanceInJobPipeline.java
(100%)
rename plugins/{tms =>
maintenance}/src/test/java/org/apache/gravitino/maintenance/injob/TestTableMaintenanceInJobSampler.java
(100%)
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/injob/TestTriggerExprInJobRecommender.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/injob/TestTypeDispatchingInJobRecommender.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/integration/test/IrcToCommitEnqueueIT.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/integration/test/MaintenanceSchedulerITSupport.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/integration/test/PolicyExpandToCronIT.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/integration/test/TableMaintenanceActionRESTIT.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/listener/TestPostCommitMaintenanceListener.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/occupancy/TestOccupancyGate.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/policy/TestPolicyExpandLifecycleHook.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/policy/TestPolicyExpandReconciler.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/policy/TestPolicyExpandRegistrar.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/SchedulerPoolTestHooks.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/TestMaintenanceJobSpecFactory.java
rename plugins/{tms =>
maintenance}/src/test/java/org/apache/gravitino/maintenance/scheduler/TestTableMaintenanceSchedulerPools.java
(85%)
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/commit/TestCommitAuthConsistency.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/commit/TestCommitJobSpecFactory.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/commit/TestMaintenanceCommitSubmitPipeline.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/commit/TestRelationalCommitJobScheduler.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/cron/TestCronJobIds.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/cron/TestCronJobScheduler.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/cron/TestMaintenanceJobConfBuilder.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/cron/TestMaintenanceJobTemplates.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/job/cron/TestMaintenanceSparkSubmitPipeline.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/policy/expand/TestNearestMaintenancePolicyResolver.java
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/policy/expand/TestNearestPolicyTableEnumerator.java
rename
plugins/{tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/postgresql/TableMaintenanceActionPostgreSQLProvider.java
=>
maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/policy/expand/TestPolicyExpandCrons.java}
(55%)
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/scheduler/policy/expand/TestPolicyExpandPipeline.java
rename plugins/{tms =>
maintenance}/src/test/java/org/apache/gravitino/maintenance/storage/TableMaintenanceActionTestUtils.java
(100%)
rename
plugins/{tms/src/test/java/org/apache/gravitino/maintenance/storage/mapper/TestTmsMapperPackageProvider.java
=>
maintenance/src/test/java/org/apache/gravitino/maintenance/storage/mapper/TestMaintenanceMapperPackageProvider.java}
(84%)
rename plugins/{tms =>
maintenance}/src/test/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TestTableMaintenanceActionH2Provider.java
(100%)
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/storage/service/TestTableMaintenanceActionMetaService.java
rename plugins/{tms =>
maintenance}/src/test/java/org/apache/gravitino/maintenance/storage/service/TestTableSnapshotMetricsMetaService.java
(100%)
create mode 100644
plugins/maintenance/src/test/java/org/apache/gravitino/maintenance/web/rest/TestTableMaintenanceActionOperations.java
rename plugins/{tms =>
maintenance}/src/test/java/org/apache/gravitino/maintenance/web/rest/feature/TestTableMaintenanceRESTFeature.java
(100%)
delete mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/scheduler/TableMaintenanceSchedulerPools.java
delete mode 100644
plugins/tms/src/test/java/org/apache/gravitino/maintenance/occupancy/TestOccupancyGate.java
delete mode 100644
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/service/TestTableMaintenanceActionMetaService.java