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

Reply via email to