etcd
etcd copied to clipboard
grpc overhead estimate seems high
What happened?
etcd 3.5 has following two variables
DefaultMaxRequestBytes = 1.5 * 1024 * 1024 https://github.com/etcd-io/etcd/blob/a3b410cac74d6b0082ad3e40ba384b8650a809e4/server/embed/config.go#L62
and
defaultMaxCallSendMsgSize = grpc.MaxCallSendMsgSize(2 * 1024 * 1024) https://github.com/etcd-io/etcd/blob/e2d67f2e3bfa6f72178e26557bb22cc1482c418c/client/v3/options.go#L34
The comment says that the difference is to accommodate grpc overhead
code snip for quick ref:
// client-side request send limit, gRPC default is math.MaxInt32
// Make sure that "client-side send limit < server-side default send/recv limit"
// Same value as "embed.DefaultMaxRequestBytes" plus gRPC overhead bytes
defaultMaxCallSendMsgSize = grpc.MaxCallSendMsgSize(2 * 1024 * 1024)
This issue to request more insight on why the grpc overhead is estimated to be about 500K
What did you expect to happen?
We would like to find out why the estimate is the way it is and should it be lower.
How can we reproduce it (as minimally and precisely as possible)?
n/a - requesting info about the code.
Anything else we need to know?
No response
Etcd version (please run commands below)
$ etcd --version
# paste output here
etcd Version: 3.5.4
Git SHA: 029ebf740
Go Version: go1.16.15
Go OS/Arch: linux/amd64
$ etcdctl version
# paste output here
etcdctl version
etcdctl version: 3.5.4
API version: 3.5
Etcd configuration (command line flags or environment variables)
paste your configuration here
Etcd debug information (please run commands blow, feel free to obfuscate the IP address or FQDN in the output)
$ etcdctl member list -w table
# paste output here
$ etcdctl --endpoints=<member list> endpoint status -w table
# paste output here
Relevant log output
No response
@geetasg Do you see any real issue in production or your development environment?
Please look at some context here - https://github.com/etcd-io/etcd/pull/9291 Thanks!
Closing as part of migration of issues labeled as questions to GitHub discussions. GitHub discussions makes it easier for the whole community to provide answered.
If you think your question is still relevant, feel free to ask at https://github.com/etcd-io/etcd/discussions