xiangfu0 opened a new pull request, #18796:
URL: https://github.com/apache/pinot/pull/18796
## Summary
This PR makes table config updates refresh server-side cached table
config/schema state in addition to the existing broker table config refresh.
Previously, updating a table config through the controller wrote the new
config to ZK and notified brokers, but servers were not explicitly asked to
refresh their cached table config/schema. Server features that read table
config from the cached `TableDataManager` state could therefore continue using
the old value until another operation caused the server cache to refresh.
## User-facing behavior
After a successful table config update, the controller now sends:
- table config refresh to brokers
- table config/schema refresh to servers
This means server-side features that depend on the cached table config can
observe the updated table config through the normal Helix message path, without
requiring a segment reload or another unrelated refresh operation.
## Example
Update a table config as usual:
```bash
curl -X PUT "http://<controller-host>:9000/tables/myTable_REALTIME" \
-H "Content-Type: application/json" \
-d @myTable_REALTIME.json
```
For example, if a realtime table config is changed to enable or disable a
server-side ingestion feature under `ingestionConfig.streamIngestionConfig`,
servers will receive the table config/schema refresh message after the update
succeeds and refresh their cached table config.
## Validation
- `./mvnw -pl pinot-controller
-Dtest=PinotHelixResourceManagerStatelessTest#testUpdateTableConfigRefreshesBrokerAndServerCaches
test`
- `./mvnw spotless:apply -pl pinot-controller`
- `./mvnw license:format -pl pinot-controller`
- `./mvnw checkstyle:check -pl pinot-controller`
- `./mvnw license:check -pl pinot-controller`
- `./mvnw -pl pinot-controller -Dtest=PinotHelixResourceManagerStatelessTest
test`
--
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]