Fix: relax gRPC server keepalive enforcement to 20s (#7898)
* Fix: relax gRPC server keepalive enforcement to 20s to prevent 'too_many_pings' errors * Refactor: introduce GrpcKeepAliveMinimumTime constant for clarity
This commit is contained in:
@@ -33,8 +33,9 @@ const (
|
|||||||
Max_Message_Size = 1 << 30 // 1 GB
|
Max_Message_Size = 1 << 30 // 1 GB
|
||||||
|
|
||||||
// gRPC keepalive settings - must be consistent between client and server
|
// gRPC keepalive settings - must be consistent between client and server
|
||||||
GrpcKeepAliveTime = 60 * time.Second // ping interval when no activity
|
GrpcKeepAliveTime = 60 * time.Second // ping interval when no activity
|
||||||
GrpcKeepAliveTimeout = 20 * time.Second // ping timeout
|
GrpcKeepAliveTimeout = 20 * time.Second // ping timeout
|
||||||
|
GrpcKeepAliveMinimumTime = 20 * time.Second // minimum interval between client pings (enforcement)
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -62,7 +63,7 @@ func NewGrpcServer(opts ...grpc.ServerOption) *grpc.Server {
|
|||||||
Timeout: GrpcKeepAliveTimeout, // ping timeout
|
Timeout: GrpcKeepAliveTimeout, // ping timeout
|
||||||
}),
|
}),
|
||||||
grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
|
grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
|
||||||
MinTime: GrpcKeepAliveTime, // min time a client should wait before sending a ping
|
MinTime: GrpcKeepAliveMinimumTime, // min time a client should wait before sending a ping
|
||||||
PermitWithoutStream: true,
|
PermitWithoutStream: true,
|
||||||
}),
|
}),
|
||||||
grpc.MaxRecvMsgSize(Max_Message_Size),
|
grpc.MaxRecvMsgSize(Max_Message_Size),
|
||||||
|
|||||||
Reference in New Issue
Block a user