Introduce reason codes in server http requests to controller
#12,055 opened on Nov 28, 2023
Repository metrics
- Stars
- (4,937 stars)
- PR merge metrics
- (Avg merge 6d 7h) (186 merged PRs in 30d)
Description
pinot servers send HTTP requests to the controller for posting a completed realtime segment, posting an indication that realtime segments have stopped consuming, or that the consumer could never be created.
Currently there is a reason string that is included as an argument. This is error prone. A reason code makes it easier to incorporate code for appropriate action, given a particular reason.
The con side of a reason code is that it is a bit harder to evolve. We need to be careful writing code on the controller side, since servers may send unknown reason codes. As long as we follow some careful practices, introducing reason codes should get us to a better place.