abhishekrb19 opened a new pull request, #17137:
URL: https://github.com/apache/druid/pull/17137

   The current `Supervisor` interface is primarily focused on streaming use 
cases. However, as we introduce supervisors for non-streaming use cases, such 
as the recently added `CompactionSupervisor` (and the upcoming 
`BatchSupervisor`), certain operations like resetting offsets, checkpointing, 
task group handoff, etc., are not really applicable to non-streaming use cases. 
   
   So the refactored interfaces in this patch are:
   - `Supervisor`: common functions that are applicable to both streaming and 
non-streaming use cases
   - `StreamSupervisor`: `Supervisor` + streaming-only operations
   
   This PR is primarily a refactoring change with minimal functional 
adjustments (e.g., throwing an exception in a few places in `SupervisorManager` 
when the supervisor isn't the expected type).
   
   While the `NoopSupervisor` could likely be refactored to implement only the 
`Supervisor` interface, those are persisted, and I wanted to avoid introducing 
any unintended breaking changes.
   
   
   This PR has:
   
   - [x] been self-reviewed.
   - [x] added documentation for new or modified features or behaviors.
   - [x] added Javadocs for most classes and all non-trivial methods. Linked 
related entities via Javadoc links.
   - [x] added unit tests or modified existing tests to cover new code paths, 
ensuring the threshold for [code 
coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md)
 is met.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to