Skip to content

Conversation

@czy006
Copy link
Contributor

@czy006 czy006 commented Dec 25, 2025

[AMORO-4022] [Improvement]: AMS Iceberg maintainer moved to the amoro-iceberg module (#4022)

Why are the changes needed?

Close #4022 .

Brief change log

  • TableMaintainer interface remove to amoro-common
  • Add TableMaintainerContext、MaintainerMetrics、OptimizingInfo interface
  • Impl DefaultTableMaintainerContext
  • MixedTableMaintainer & IcebergTableMaintainer remove to amoro-iceberg
  • Iceberg Maintainer Test from ams move to amoro-iceberg (executor can't remove to amoro-iceberg,execute in ams and tests)

How was this patch tested?

  • Add some test cases that check the changes thoroughly including negative and positive cases if possible

  • Add screenshots for manual tests if appropriate

  • Run test locally before making a pull request

Documentation

  • Does this pull request introduce a new feature? (no)
  • If yes, how is the feature documented? (not documented)

@github-actions github-actions bot added the module:ams-server Ams server module label Dec 25, 2025
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 0% with 247 lines in your changes missing coverage. Please review.
✅ Project coverage is 22.44%. Comparing base (cbdc517) to head (19c989f).
⚠️ Report is 20 commits behind head on master.

Files with missing lines Patch % Lines
.../amoro/formats/iceberg/utils/IcebergTableUtil.java 0.00% 80 Missing ⚠️
...moro/formats/iceberg/utils/RollingFileCleaner.java 0.00% 60 Missing ⚠️
...ats/iceberg/maintainer/IcebergTableMaintainer.java 0.00% 54 Missing ⚠️
...rmats/iceberg/maintainer/MixedTableMaintainer.java 0.00% 44 Missing ⚠️
...org/apache/amoro/maintainer/MaintainerMetrics.java 0.00% 4 Missing ⚠️
...va/org/apache/amoro/maintainer/OptimizingInfo.java 0.00% 4 Missing ⚠️
...pache/amoro/maintainer/TableMaintainerContext.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #4024      +/-   ##
============================================
+ Coverage     22.12%   22.44%   +0.31%     
- Complexity     2461     2554      +93     
============================================
  Files           445      458      +13     
  Lines         40897    42065    +1168     
  Branches       5767     5909     +142     
============================================
+ Hits           9050     9441     +391     
- Misses        31089    31812     +723     
- Partials        758      812      +54     
Flag Coverage Δ
trino 22.44% <0.00%> (+0.31%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@czy006 czy006 changed the title Draft: [AMORO-4022] [Improvement]: AMS Iceberg maintainer moved to the amoro-iceberg module [AMORO-4022] [Improvement]: AMS Iceberg maintainer moved to the amoro-iceberg module Dec 26, 2025
Copy link
Contributor

@baiyangtx baiyangtx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for your improvement.

import org.apache.amoro.data.ChangeAction;
import org.apache.amoro.data.DataFileType;
import org.apache.amoro.data.PrimaryKeyedFile;
import org.apache.amoro.formats.iceberg.maintainer.IcebergTableMaintainer;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we move those Tests to iceberg-format module?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried my best, but it didn't work because it relies on other components such as ExecutorBaseTest and AMS, which have a large number of other dependencies within AMS. The executor of Maintainer is currently in AMS, and in the future we can implement an implementation based on external engine scheduling(next pr).

@czy006 czy006 requested a review from baiyangtx December 31, 2025 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Improvement]: AMS Iceberg maintainer moved to the amoro-iceberg module

3 participants