fix: Add gRPC timeout and keepalive to RemoteRegistry - #6698
Conversation
Signed-off-by: Pelong <[email protected]>
Signed-off-by: Pelong <[email protected]>
franciscojavierarceo
left a comment
There was a problem hiding this comment.
The new tuning fields are unconstrained Optional[int] values. timeout=0 or a negative keepalive interval/timeout is accepted by RemoteRegistryConfig and only fails later when gRPC constructs or uses the channel, turning a config typo into a runtime startup failure. We should validate positive values at config load (and add tests for zero/negative inputs); if None is intended to mean no deadline, the docs should also avoid calling this a default timeout.
Signed-off-by: Arthur Pelong <[email protected]>
|
Thanks for the feedback! I've added a Pydantic |
What this PR does / why we need it:
Configures a default deadline (timeout) and transport keepalive options (
keepalive_time_ms,keepalive_timeout_ms) for the client-side gRPC channel inRemoteRegistry.Without these configurations, network drops or silent firewall cuts (blackholes) after a TCP connection is established cause all registry calls to hang indefinitely in
epoll_waitwithout raising any errors or timeouts.Which issue(s) this PR fixes:
Fixes #6665
Checks
git commit -s)Testing Strategy
Misc
NONE