rajagopr opened a new pull request, #15008:
URL: https://github.com/apache/pinot/pull/15008

   ## Description 
   Added support to pause and resume ingestion for OFFLINE and REALTIME tables 
when disk utilization exceeds a configured threshold.
   
   
   ## Key Components Introduced
   `ResourceUtilizationChecker` – A controller periodic task that collects disk 
utilization of server instances.
   `ResourceUtilizationInfo` – A container that holds disk usage info of Pinot 
instances.
   `/instance/diskUtilization` – New API that is exposed on the Pinot server 
instances.
   
   ## How it Works
   The periodic task `ResourceUtilizationChecker` runs periodically and 
computes the disk usage info of the Pinot server instances. It captures the 
disk utilization info within the ResourceUtilizationInfo objects. For REALTIME 
tables, the periodic task `RealTimeSegmentValidationManager` pauses consumption 
on any given table if disk utilization is above the threshold. For OFFLINE 
tables, the `PinotTaskManager` ensures that new ingestion tasks are not 
generated if disk utilization is above threshold.
   
   
   ## Notes on Implementation
   – The periodic task `ResourceUtilizationChecker` runs by default when the 
controller starts. As of now, this runs as part of every controller.
   – For OFFLINE tables, new ingestion task generation is blocked when resource 
constraints are violated as opposed to pausing the task queue. This is because 
the task queue is shared across all tenants in the cluster.
   
   
   ## Configs
   `"controller.enable.resource.utilization.check": "true"` --> Config used to 
enable/disable the behavior that pauses ingestion when resource constraints are 
violated.
   
   ## Testing
   
   Tested that the periodic task runs without any errors.
   ```
   2025/02/07 02:23:01.425 INFO [ResourceUtilizationChecker] [pool-20-thread-1] 
Running periodic task: ResourceUtilizationChecker
   2025/02/07 02:23:01.443 INFO [BasePeriodicTask] [pool-20-thread-1] 
[TaskRequestId: auto] Finish running task: ResourceUtilizationChecker in 18ms
   ```
   Will perform additional tests and update the results.
   


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