Hello. I am trying to equalize keep-alive settings between client and server to avoid unnecessary go-aways due to misbehaving clients
The question
I came across a strange behavior.
If there is no interaction between client and server, 20s after last HTTP2/RST_STREAM, server sends HTTP2/GOAWAY which leads to closing of HTTP2 as well as TCP connection.
This happens both
If there is enable-keep-alive set to false in both client and server (which is expected)
If I changed enable-keep-alive and permit-keep-alive-without-calls to true, HTTP2/PINGs are being sent but connection is terminated anyway
Is this expected behavior?
Am I able to change the timeout? Or rather... Am I supposed to change this, or this is a sensible default?
Thank you
Stacktraces and logs
The application's environment
Spring (boot): 2.7.5
grpc-java: 1.59.0
grpc-spring-boot-starter: 2.15.0.RELEASE
java: version + architecture (64bit?): 11.0.18+10-LTS, Kotlin: 1.9.10
The context
Hello. I am trying to equalize keep-alive settings between client and server to avoid unnecessary go-aways due to misbehaving clients
The question
I came across a strange behavior. If there is no interaction between client and server, 20s after last HTTP2/RST_STREAM, server sends HTTP2/GOAWAY which leads to closing of HTTP2 as well as TCP connection. This happens both
Is this expected behavior? Am I able to change the timeout? Or rather... Am I supposed to change this, or this is a sensible default? Thank you
Stacktraces and logs
The application's environment