Skip to content

Commit 3ea5e1f

Browse files
authored
Set keepalive policy for prism grpc server. (#37021)
1 parent 2628a38 commit 3ea5e1f

File tree

1 file changed

+5
-0
lines changed
  • sdks/go/pkg/beam/runners/prism/internal/jobservices

1 file changed

+5
-0
lines changed

sdks/go/pkg/beam/runners/prism/internal/jobservices/server.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
jobpb "github.com/apache/beam/sdks/v2/go/pkg/beam/model/jobmanagement_v1"
3131
"github.com/apache/beam/sdks/v2/go/pkg/beam/runners/prism/internal/worker"
3232
"google.golang.org/grpc"
33+
"google.golang.org/grpc/keepalive"
3334
)
3435

3536
type Server struct {
@@ -80,6 +81,10 @@ func NewServer(port int, execute func(*Job)) *Server {
8081
s.logger.Info("Serving JobManagement", slog.String("endpoint", s.Endpoint()))
8182
opts := []grpc.ServerOption{
8283
grpc.MaxRecvMsgSize(math.MaxInt32),
84+
grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
85+
MinTime: 20 * time.Second, // Minimum duration a client should wait before sending a keepalive ping
86+
PermitWithoutStream: true, // Allow pings even if there are no active streams
87+
}),
8388
}
8489
s.server = grpc.NewServer(opts...)
8590
jobpb.RegisterJobServiceServer(s.server, s)

0 commit comments

Comments
 (0)