Skip to content

[Feature] Add remote maintainer framework for Paimon tables#4068

Draft
czy006 wants to merge 1 commit intomasterfrom
czy006/paimon-maintainer-model
Draft

[Feature] Add remote maintainer framework for Paimon tables#4068
czy006 wants to merge 1 commit intomasterfrom
czy006/paimon-maintainer-model

Conversation

@czy006
Copy link
Contributor

@czy006 czy006 commented Jan 29, 2026

This PR introduces a framework for executing Paimon table maintenance operations (snapshot expiration, orphan file cleanup) remotely on Spark optimizers.

Changes:

  • MaintainerInput/Output interfaces and base implementations in amoro-common
  • MaintainerExecutor/Factory interfaces for remote execution pattern
  • New amoro-optimizer-paimon-spark module with SparkMaintainerExecutor
  • PaimonSnapshotExpire* components for snapshot expiration operations
  • Placeholder SparkOptimizer for future Paimon optimizing support

Key Design:

  • Follows existing Optimizer pattern for consistency
  • Multi-format compatible (Iceberg, Paimon)
  • Remote-only execution (no local AMS maintainer integration)

This commit introduces a framework for executing Paimon table maintenance
operations (snapshot expiration, orphan file cleanup) remotely on Spark
optimizers, following the existing Optimizer pattern.

Changes:
- Add MaintainerInput/Output interfaces and base implementations
- Add MaintainerExecutor/Factory interfaces for remote execution
- Create amoro-optimizer-paimon-spark module with SparkMaintainerExecutor
- Implement PaimonSnapshotExpire* components for snapshot expiration
- Add placeholder SparkOptimizer for future Paimon optimizing support

Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com>
@majin1102
Copy link
Contributor

Thanks for working on this.

Wondering how does this maintainer framework work with the current process/external process API. I notice there has been some Paimon related work on this by @LiangDai-Mars and @baiyangtx . I think it's the right time to have a dicussion on this. Curious how people think @zhoujinsong

By the way I'm open to have a new framwork if we could provide better extension to multi-format

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants