yunfengzhou-hub opened a new pull request, #6201: URL: https://github.com/apache/paimon/pull/6201
### Purpose Currently Flink actions do not provide a unified experience for users. Some actions like CompactAction will start a Flink job, but others like CreateTagAction are lightweight and will not start a Flink job. This brings more complexity when DevOps are trying to integrate Flink Actions to their platforms, because they need to provide multiple execution pipelines for different Actions. In order to solve this problem, this PR proposes to introduce the parameter `force_start_flink_job` and the method `ActionBase#forceStartFlinkJob` to support all actions to execute within a Flink job. This PR mainly includes the following changes: * Adds `LocalAction` interface and uses it to mark actions that does not natively need a flink job. * Makes `LocalAction` serializable, as a prerequisite to wrap them into Flink operators. * Adds a common implementation in `ActionBase` to execute `LocalAction`s in Flink job. * Introduces the parameter `force_start_flink_job` and the method `ActionBase#forceStartFlinkJob` as user interface. ### Tests * Existing action unit tests are modified to test the flink job mode, for example `BranchActionITCase`. * `ActionJobCoverageTest` is introduced to make sure all actions have provided a Flink job execution mode. This test case will also remind developers to support this feature when new actions are introduced in future. ### API and Format This PR introduces the parameter `force_start_flink_job` and the method `ActionBase#forceStartFlinkJob` to support all actions to execute within a Flink job. ### Documentation The new feature is documented in the Flink Actions section. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
