`idleTimeMs` and `idleTtlSecs` settings don't seem to have any effect on established H2 connections
See original GitHub issueIssue Type:
- Bug report
- Feature request
What happened:
Linkerd is not expiring/terminating idle client HTTP2 connections after the timeouts configured in idleTimeMs
and/or idleTtlSecs
configuration options.
What you expected to happen: The established Http2 connections from Linkerd to the server are expected to be closed if they were idling for more then the time indicated in the configuration.
How to reproduce it (as minimally and precisely as possible):
- Set the idleTtlSecs to 60 seconds
- Make a single request from a grpc client to a grpc server through Linkerd
- Observe the number of connections in Linkerd for more than 60 seconds. The number will stay == 1
- Check the
netstat
’s output to see that there’s and ESTABLISHED connection from Linkerd to the server.
Docker-compose and configuration files that can help to reproduce the issue - https://github.com/nikolay-pshenichny/linkerd-idleTtlSecs_and_idleTimeMs
Anything else we need to know?:
New context (2018-04-10 2:50pm): Linkerd will always keep 1 client open, even if it has been idle for longer than the ttl. The issue is requesting that that behavior be changed or made configurable. cc: @adleong
Environment:
- linkerd/namerd version, config files: linkerd v 1.3.7; sample config files can be found using the link above.
- Platform, version, and config files (Kubernetes, DC/OS, etc): Seeing this in Vagrant; Docker; Kubernetes;
- Cloud provider or hardware configuration:
Issue Analytics
- State:
- Created 5 years ago
- Reactions:1
- Comments:16 (13 by maintainers)
Top GitHub Comments
@adleong - FYI, our smoke tests of this have been baking for a few days and we haven’t seen any issues.
We will have a release candidate available very soon: early this week.