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]
