kitex icon indicating copy to clipboard operation
kitex copied to clipboard

grpc不支持GracefulShutdown?

Open slowargo opened this issue 2 years ago • 2 comments

Describe the bug

进程结束时,github.com/cloudwego/kitex/pkg/remote/trans/netpoll.(*transServer).Shutdown打印日志 KITEX: server graceful shutdown error: internal exception: operation not supported

如果有处理过grpc请求,在5s(defaultExitWaitTime)后,github.com/cloudwego/kitex/server.(*server).Run还会打印 KITEX: stop server error: error=context deadline exceeded (err = ts.evl.Shutdown(ctx)超时?)

To Reproduce

svr := server.NewServer(options...) err = svr.Run() 启动服务器,客户端发送请求到服务器,服务器ctrl+c退出

Expected behavior

确认nphttp2/server_handler.go未实现GracefulShutdown是否符合预期

Screenshots

Kitex version:

0.5.1

Environment:

Additional context

slowargo avatar Apr 21 '23 06:04 slowargo

这个符合预期的,暂时没有实现。

ppzqh avatar Apr 21 '23 09:04 ppzqh

use https://github.com/cloudwego/kitex/issues/912 to trace

li-jin-gou avatar Apr 26 '23 07:04 li-jin-gou

@slowargo 已支持,可以使用 develop 分支尝鲜。使用 WithExitWaitTime 配置即可,推荐值为流的持续时间上界。 例如,你们的流都能在 10 分钟内结束,那么可配 WithExitWaitTime(10 * time.Minute)。 对于超过这个时间的流,将会被中断,并拿到 code = 14, graceful shutdown 的错误提示。

DMwangnima avatar Nov 22 '24 06:11 DMwangnima