dtm-labs/dtm

ERROR: [transport] Client received GoAway with error code ENHANCE_YOUR_CALM and debug data equal to ASCII "too_many_pings".

Opened this issue · 2 comments

2024/09/27 09:52:10 ERROR: [transport] Client received GoAway with error code ENHANCE_YOUR_CALM and debug data equal to ASCII "too_many_pings".
2024/09/27 09:53:30 ERROR: [transport] Client received GoAway with error code ENHANCE_YOUR_CALM and debug data equal to ASCII "too_many_pings".
2024/09/27 09:56:30 ERROR: [transport] Client received GoAway with error code ENHANCE_YOUR_CALM and debug data equal to ASCII "too_many_pings".
2024/09/27 10:13:30 ERROR: [transport] Client received GoAway with error code ENHANCE_YOUR_CALM and debug data equal to ASCII "too_many_pings".
2024/09/27 14:21:31 ERROR: [transport] Client received GoAway with error code ENHANCE_YOUR_CALM and debug data equal to ASCII "too_many_pings".

部署在k8s 环境

客户端是go包 github.com/dtm-labs/client/dtmgrpc

这个看起来是网络相关的问题,跟dtm本身相关性不大

问chatGpt 说:

您遇到的错误消息表明,由于过多的 ping 操作,gRPC 客户端已被服务器断开连接。以下是对该错误的详细解释:

•	GoAway 帧:在 HTTP/2(gRPC 使用的协议)中,GoAway 帧由服务器发送,用于表示它正在优雅地关闭连接。
•	ENHANCE_YOUR_CALM 错误代码:这是一个 gRPC 特定的错误代码(数值为 420),表示客户端的请求过于频繁或激进。
•	too_many_pings 调试数据:此消息指出客户端发送的 ping 请求超过了服务器允许的频率。

可能原因:

1.	频繁的 Keepalive Ping:客户端被配置为过于频繁地发送 keepalive ping。
2.	Keepalive 设置错误:客户端的 keepalive 参数配置不当。
3.	网络问题:不稳定的网络导致客户端认为连接已丢失,从而触发更多的 ping 请求。