[AMORO-4095]: Simplify table process extension for table formats#4081
Open
baiyangtx wants to merge 2 commits intoapache:masterfrom
Open
[AMORO-4095]: Simplify table process extension for table formats#4081baiyangtx wants to merge 2 commits intoapache:masterfrom
baiyangtx wants to merge 2 commits intoapache:masterfrom
Conversation
29bddc1 to
2b18546
Compare
3 tasks
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
3 tasks
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
ProcessFactoryto anActivePluginthat works onTableRuntime/TableProcess, introduceProcessTriggerStrategy, and remove the oldProcessState/TableProcessStatebased APIs.DefaultTableRuntimetoCompatibleTableRuntime, and provide a newDefaultTableRuntimeimplement for all TableFormats.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