9aman opened a new pull request, #16856:
URL: https://github.com/apache/pinot/pull/16856

   # PR Description
   
   ## Problem
   
   The metric update relies on Task Manager runs, which can cause the metric 
value to become stale and impact any configured alerts.
   
   ### Solution: Transform OfflineSegmentInternalChecker to 
OfflineSegmentValidationManager
   
   Why this transformation is needed:
   
   - OfflineSegmentValidationManager can serve as a controller periodic job for 
OFFLINE tables, similar to how RealtimeSegmentValidationManager works for 
REALTIME tables
   - It can handle periodic checks at both:
       - Table level
       - Segment level
   - Table and segment level checks can run at different frequencies, following 
the same approach used in RealtimeSegmentValidationManager
   - No need to create another controller periodic job just to reset the metric
   
   ## Alternative Considered
   
   ### Option 1: Create a new controller periodic job for resource utilization 
checks
   
   #### Pros:
   
   Checks might expand beyond disk usage, potentially justifying a separate 
periodic job
   
   #### Cons:
   
    - Cannot make pause/unpause decisions for realtime tables
    - RealtimeSegmentValidationManager makes operational decisions based on 
table pause/unpause status
    - Race condition risk (sequence of events ):
        - RealtimeSegmentValidationManager finds table unpaused and continues 
checks
        - New periodic job pauses the table (triggering force commit)
        - RealtimeSegmentValidationManager doesn't find any CONSUMING segment, 
assumes table is unpaused, and creates a new CONSUMING segment
   
   
   
   ### Option 2:Using RealtimeSegmentValidationManager Instead
   
   #### Pros:
   Simple solution using existing controller periodic job
   
   Cons:
   #### RealtimeSegmentValidationManager is specifically designed for REALTIME 
tables
   
   ## Additional Work Needed in this PR.
   
   Implement different frequencies for table-level and segment-level validations


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