From ba47fede1b2b587141436420121973400551f06f Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 17 Oct 2024 15:22:35 +0000 Subject: [PATCH] [ConfigFetcher] Set HTTP2 error to NO_ERROR for graceful GOAWAYs --- src/core/ext/transport/chttp2/server/chttp2_server.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.cc b/src/core/ext/transport/chttp2/server/chttp2_server.cc index 0486f7e3bf5..2bc2e1c857c 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.cc +++ b/src/core/ext/transport/chttp2/server/chttp2_server.cc @@ -627,8 +627,10 @@ void Chttp2ServerListener::ActiveConnection::SendGoAway() { } if (transport != nullptr) { grpc_transport_op* op = grpc_make_transport_op(nullptr); - op->goaway_error = - GRPC_ERROR_CREATE("Server is stopping to serve requests."); + // Set an HTTP2 error of NO_ERROR to do graceful GOAWAYs. + op->goaway_error = grpc_error_set_int( + GRPC_ERROR_CREATE("Server is stopping to serve requests."), + StatusIntProperty::kHttp2Error, GRPC_HTTP2_NO_ERROR); transport->PerformOp(op); } }