shounakmk219 opened a new pull request, #15044: URL: https://github.com/apache/pinot/pull/15044
Splitting #14521 into separate PRs # Description This PR tries to decouple the way how minion task progress is being tracked and stored so that we can reuse the implementations of `MinionEventObserver` and decide the underlying storage to be used based on the requirements. ## Introduce new `MinionTaskProgressManager` interface The responsibility of storing the task progress data that's being monitored by `MinionEventObserver` will be delegated to this new interface `MinionTaskProgressManager`. It will expose the below methods to manage the `MinionTaskProgressStats` for each task run. - `init(PinotConfiguration configuration)` - `getTaskProgress(String taskId)` - `setTaskProgress(String taskId, MinionTaskProgressStats progress)` - `deleteTaskProgress(String taskId)` ### Configuration In order to plug the desired implementation of `MinionTaskProgressManager` there is a new config introduced ``` pinot.minion.taskProgressManager.class ``` If the config is not provided or minion is unable to load the instance of that class, the default implementation `DefaultMinionTaskProgressManager` will be used. This is the same logic of how the existing progress is being maintained in minion memory. -- 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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org