possibly sending too many pings
I am running two servers:
anycable-go(1.6.2)anycable-rpc(1.6.0)
Once anycable-rpc is up, anycable-go starts saying ERROR: [transport] Client received GoAway with error code ENHANCE_YOUR_CALM and debug data equal to ASCII "too_many_pings". (see https://github.com/grpc/grpc-go/blob/4275c5bdd8e86c450d84f66c9445560fefadc4ec/internal/transport/http2_client.go#L1336-L1342)
Is there any way to reduce the frequency of pings?
Sorry if this is the wrong place to post this issue. I took a stab at which gem might be the source of the pings:
-bash> grep anycable Gemfile.lock
anycable (1.6.0)
anycable-core (= 1.6.0)
anycable-core (1.6.0)
anycable-rails (1.6.0)
anycable
anycable-rails-core (= 1.6.0)
anycable-rails-core (1.6.0)
anycable-core (~> 1.6.0)
anycable-rails (~> 1.6)
Is there any way to reduce the frequency of pings?
We already follow the official instructions and instruct the server to use the same keepalive interval as the client here:
https://github.com/anycable/anycable-rb/blob/366c4067c97611995f96c48a183e3e2443a6df8b/lib/anycable/grpc/config.rb#L44
Either we're doing something wrong here or it's not really supported by gRPC Ruby.
I would give env vars a try at the RPC side, say, GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS=5000 or GRPC_ARG_HTTP2_MAX_PING_STRIKES=0 (see https://github.com/grpc/grpc/blob/master/doc/keepalive.md).