krishan1390 opened a new pull request, #18792: URL: https://github.com/apache/pinot/pull/18792
The server's table-config/schema refresh message handler called `fetchIndexLoadingConfig()` purely for its cache-refresh side effect, discarding the returned config. That same `fetchIndexLoadingConfig()` is also invoked incidentally during segment state transitions and reloads, so a table data manager had no way to distinguish "the config actually changed" from "an index loading config was fetched while a transition was in progress." This adds a dedicated `onTableConfigOrSchemaRefresh()` callback on `TableDataManager`. The default implementation refreshes the cached table config and schema (preserving today's behavior), and the refresh message handler now invokes the callback instead of `fetchIndexLoadingConfig()`. The behavior of `fetchIndexLoadingConfig()` during transitions is unchanged. This gives implementations a hook that fires only on a genuine config/schema change. ## Testing `BaseTableDataManagerTest#testOnTableConfigOrSchemaRefreshRefreshesCachedConfig` verifies the default callback refreshes the cached config/schema. Existing data-manager and server tests pass. 🤖 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]
