1fanwang commented on code in PR #18343:
URL: https://github.com/apache/pinot/pull/18343#discussion_r3198554792
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/SegmentStatusChecker.java:
##########
@@ -117,7 +117,12 @@ protected void processTable(String tableNameWithType,
Context context) {
TableConfig tableConfig =
_pinotHelixResourceManager.getTableConfig(tableNameWithType);
updateTableConfigMetrics(tableNameWithType, tableConfig, context);
updateSegmentMetrics(tableNameWithType, tableConfig, context);
- updateTableSizeMetrics(tableNameWithType);
+ // Skip table size aggregation for disabled tables. Servers do not load
segments for disabled tables, so the
+ // /table/{name}/size scatter-gather would otherwise return 404 from
every server and flood controller logs
+ // with ERROR-level entries. updateSegmentMetrics has already populated
context._disabledTables.
Review Comment:
Good catch. Same shape, different symptom: the null-IdealState branch makes
`getServerToSegmentsMap` throw `IllegalStateException`, which surfaces in
`processTable`'s outer catch as an ERROR + stack trace per table per cycle.
Generalized the guard — both the `idealState == null` and
`!idealState.isEnabled()` branches now tag a new `_tablesToSkipSizeAggregation`
set (a superset of `_disabledTables`), and `processTable` skips size
aggregation for any table in it. Kept `_disabledTables` separate so
`DISABLED_TABLE_COUNT` isn't inflated by null-IdealState entries. New
`nullIdealStateTest` covers it.
--
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]