From 56ebd9236e93416ec1c76c6c7988aed3e84dcbe0 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sun, 28 Dec 2025 12:03:21 -0800 Subject: [PATCH] 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 --- weed/pb/grpc_client_server.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/weed/pb/grpc_client_server.go b/weed/pb/grpc_client_server.go index 32572d1f2..3460339ca 100644 --- a/weed/pb/grpc_client_server.go +++ b/weed/pb/grpc_client_server.go @@ -33,8 +33,9 @@ const ( Max_Message_Size = 1 << 30 // 1 GB // gRPC keepalive settings - must be consistent between client and server - GrpcKeepAliveTime = 60 * time.Second // ping interval when no activity - GrpcKeepAliveTimeout = 20 * time.Second // ping timeout + GrpcKeepAliveTime = 60 * time.Second // ping interval when no activity + GrpcKeepAliveTimeout = 20 * time.Second // ping timeout + GrpcKeepAliveMinimumTime = 20 * time.Second // minimum interval between client pings (enforcement) ) var ( @@ -62,7 +63,7 @@ func NewGrpcServer(opts ...grpc.ServerOption) *grpc.Server { Timeout: GrpcKeepAliveTimeout, // ping timeout }), 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, }), grpc.MaxRecvMsgSize(Max_Message_Size),