Skip to content

[AMORO-4095]: Simplify table process extension for table formats#4081

Open
baiyangtx wants to merge 2 commits intoapache:masterfrom
baiyangtx:simple-table-runtime
Open

[AMORO-4095]: Simplify table process extension for table formats#4081
baiyangtx wants to merge 2 commits intoapache:masterfrom
baiyangtx:simple-table-runtime

Conversation

@baiyangtx
Copy link
Contributor

@baiyangtx baiyangtx commented Feb 11, 2026

Why are the changes needed?

Close #4095.

Refactor code about ActionCoordinator/TableRuntimeFactory, and provider a simpler way to extend process.

Instead of provider a series of TableRuntimeFactory and ActionCoordinatior, just provider a implement of TableProcessFactory is work.

In the future, if there is a need to extend a new TableFormat, instead of providing an implementation of TableRuntimeFactory, you can just directly extend a new ProcessFactory.

Brief change log

  • Promote ProcessFactory to an ActivePlugin that works on TableRuntime / TableProcess, introduce ProcessTriggerStrategy, and remove the old ProcessState / TableProcessState based APIs.
  • Rename DefaultTableRuntime to CompatibleTableRuntime, and provide a new DefaultTableRuntime implement for all TableFormats.
  • Enhance the ProcessFactory interface to return more information about TableFormat and scheduling policies.
  • Update optimizing, scheduler and table runtime implementations, together with related tests, to use the new process abstractions and keep behavior consistent.

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? (yes / no)
  • If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@baiyangtx baiyangtx force-pushed the simple-table-runtime branch from 29bddc1 to 2b18546 Compare February 17, 2026 07:25
@baiyangtx baiyangtx marked this pull request as ready for review February 17, 2026 07:50
@baiyangtx baiyangtx changed the title [DRAFT]: Provide a simpler way to extend process of formats. [Feature]: Provide a simpler way to extend process of formats. Feb 17, 2026
@baiyangtx baiyangtx changed the title [Feature]: Provide a simpler way to extend process of formats. [AMORO-4095]: Simplify table process extension for table formats Feb 17, 2026
baiyangtx pushed a commit to baiyangtx/amoro that referenced this pull request Feb 18, 2026
# Context

Split from upstream PR apache#4081 to make review easier.

This MR introduces the new process extension APIs in common module, without touching most AMS internals yet.

# Changes

- Promote `ProcessFactory` to a richer abstraction in `amoro-common`, preparing for plugin-based table process extension.
- Adjust `Action`/`IcebergActions` and `TableRuntime` to align with the new process model.
- Move `ActionCoordinator` into `amoro-common` so it can be shared as a public abstraction.
- Introduce `ProcessTriggerStrategy` to describe trigger policies for processes.
- Clean up legacy process state classes which will be replaced by the new abstractions in follow-up MRs.

# Notes

- This commit only updates the common module and the shared `ActionCoordinator` API; AMS-side wiring and runtime refactors will be done in separate branches/MRs as discussed.

Co-Authored-By: Aime <aime@bytedance.com>
Change-Id: If84ada8fcae1cfb11577d56d3866db7ce0949102
majin1102 pushed a commit that referenced this pull request Feb 25, 2026
…faces (#4097)

* improvement: refactor process API and table runtime extension interfaces

# Context

Split from upstream PR #4081 to make review easier.

This MR introduces the new process extension APIs in common module, without touching most AMS internals yet.

# Changes

- Promote `ProcessFactory` to a richer abstraction in `amoro-common`, preparing for plugin-based table process extension.
- Adjust `Action`/`IcebergActions` and `TableRuntime` to align with the new process model.
- Move `ActionCoordinator` into `amoro-common` so it can be shared as a public abstraction.
- Introduce `ProcessTriggerStrategy` to describe trigger policies for processes.
- Clean up legacy process state classes which will be replaced by the new abstractions in follow-up MRs.

# Notes

- This commit only updates the common module and the shared `ActionCoordinator` API; AMS-side wiring and runtime refactors will be done in separate branches/MRs as discussed.

Co-Authored-By: Aime <aime@bytedance.com>
Change-Id: If84ada8fcae1cfb11577d56d3866db7ce0949102

* fix compile error

* fix compile error

* fix compile error3

* getTableConfig

* refactor

---------

Co-authored-by: zhangyongxiang.alpha <zhangyongxiang.alpha@bytedance.com>
Co-authored-by: Aime <aime@bytedance.com>
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]: Simplify table process extension for table formats

1 participant