I wonder how gRPC timeout could be configured for keepalive requests on the client side so, that if the gRPC request timeouts, the etcd client API implementation, or the client application itself can re-try the request (maybe to another server, or anything).
The clientv3 documentation tells
"To specify client request timeout, pass context.WithTimeout to APIs:"
However, as I read the code, the ctx in the KeepAlive() parameter list is stored into ka.ctxs, but not used towards the grpc library. Instead, the lease's "stopCtx" is used, which is a WithCancel ctx, based on the Background ctx. So, that one does not set a timeout value for the grpc request either.
Or is there another mechanism to timeout the grpc request, and give a chance to re-try the request?
Thank you!
Br,
Laszlo