Jackie-Jiang opened a new pull request, #19578: URL: https://github.com/apache/pinot/pull/19578
## Summary `ServerRoutingStatsManager.onChange` handled a key removed from the ZK cluster config by falling back to the broker config (`_config`) for both `pinot.broker.adaptive.server.selector.enable.stats.metric.export` and `...stats.metric.export.interval.ms`. That fallback cannot work as intended: `ServiceStartableUtils.applyClusterConfig` folds the cluster config present at broker startup into the broker config, so when an operator removes a key that was set at startup, the "fallback" reads the very value being removed and keeps it until the broker restarts. A removed key now restores the default, which is what the other dynamic cluster config listeners (`ConsumingSegmentConsistencyModeListener`, `ServerRateLimitConfigChangeListener`, `ContinuousJfrStarter`) already do. The only flow this gives up is "set in the broker config file, override from the cluster config, remove to return to the file value", which the folding made unreliable anyway. Initial values are still read from the broker config in `init()`, so nothing changes at startup. Adds `testStatsMetricExportKeyRemovalRestoresDefault`: export enabled through the broker config, gauges exported, key removed from the cluster config, gauges gone. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
