9aman commented on code in PR #15008: URL: https://github.com/apache/pinot/pull/15008#discussion_r1955871640
########## pinot-controller/src/main/java/org/apache/pinot/controller/validation/RealtimeSegmentValidationManager.java: ########## @@ -135,6 +138,18 @@ private boolean shouldEnsureConsuming(String tableNameWithType) { if (isTablePaused && pauseStatus.getReasonCode().equals(PauseState.ReasonCode.ADMINISTRATIVE)) { return false; } + try { + boolean isResourceUtilizationWithinLimits = + _resourceUtilizationManager.isResourceUtilizationWithinLimits(tableNameWithType); + if (!isResourceUtilizationWithinLimits) { + LOGGER.warn("Resource utilization limit exceeded for table: {}", tableNameWithType); + _llcRealtimeSegmentManager.pauseConsumption(tableNameWithType, Review Comment: For pauseless this is a bit scary as for the: 1. Normal Ingestion: Lack of disk will lead to build failure pausing ingestion. 2. Pausless: New segments will get created till we mark the table as paused in IS. Build failure will not block this. Storage issues during the ingestion (before build) when we mmap fetched messages will fail. Assuming all replicas run out of disk: 1. For the segments that only fail during build phase: We need to rely on DR to fix these. 2. For segments that fail during ingestion (before build) : the rows will be marked errored rows and the mutable segment will fail build. This too will be fixed using DR. -- 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