grpc-java/okhttp
Kim Sumin 6fc3fd0462 okhttp: Fix bidirectional keep-alive causing spurious GO_AWAY
When bidirectional keep-alive is enabled (both client and server
sending keep-alive pings), the server incorrectly validates ping
acknowledgments (ACKs) sent in response to server-initiated pings.
This causes the KeepAliveEnforcer strike counter to increment for
legitimate protocol responses, eventually triggering a GO_AWAY with
ENHANCE_YOUR_CALM.

Move the keepAliveEnforcer.pingAcceptable() check inside the !ack
conditional block, so only client-initiated ping requests are
validated. Ping ACKs now bypass enforcement entirely, enabling
bidirectional keep-alive to work correctly.

Fixes #12417
2025-11-13 06:41:52 -08:00
..
src
third_party/okhttp
BUILD.bazel
build.gradle