TCP_USER_TIMEOUT configuration and logging

42 views
Skip to first unread message

Kyle Strand

unread,
Apr 25, 2024, 6:01:46 PM4/25/24
to grpc.io
I'm concerned that I'm seeing an issue similar to this old one, so I want to verify that `TCP_USER_TIMEOUT` is set to something reasonable.

To configure that value, it sounds like gRPC keepalive must be enabled, but there are concerns this is "dangerous". Additionally, there appears to be at least one bug in the Python keepalive configuration. Is it possible to side-step these issues by configuring the `TCP_USER_TIMEOUT` separately from the grpc keepalive?

Additionally, is it possible to verify how the timeout is configured? From the source code, looks like there should be log messages explicitly indicating whether `TCP_USER_TIMEOUT` is supported and how it's configured. However, I don't see any log entries containing that string, even though I do see logging from `tcp_posix.cc`.

I have these environment variables set:

```
GRPC_VERBOSITY="INFO"
GRPC_TRACE="tcp,http_keepalive,http2_ping,resource_quota,queue_pluck,timer,health_check_client,executor,connectivity_state"
```

...but I don't see any log messages with `TCP_USER_TIMEOUT`.

Kyle Strand

unread,
Apr 26, 2024, 4:08:57 PM4/26/24
to grpc.io
Regarding the logging, I believe I simply wasn't seeing these messages because I had explicitly disabled keepalive. When I set the keepalive time and timeout to 10 seconds each, I see the `TCP_USER_TIMEOUT` being set to 10 seconds as expected.

--

Kyle J Strand

Senior Software Engineer

(Pronouns: he/him)

kst...@rigetti.com

rigetti.com 


Confidentiality Note: This message is for the intended recipient only and may contain proprietary, privileged, or confidential information. The use, copying or distribution of the contents of this email, or any attachments hereto, by anyone other than the intended recipient, or an employee or agent authorized by the intended recipient, is prohibited.


Reply all
Reply to author
Forward
0 new messages