Because of this? https://github.com/apache/trafficserver/pull/11046#discussion_r1583528415
The code in the HttpTransact.cc that checks for the header removes the header and never adds it back if it is a http2 connection. In an internal discussion in Yahoo I mentioned we can probably find a exact moment to set the header, such that it happens after the check for the whole “connection: keep-alive” and “connection: close” in HttpTransact.cc, but at the end it was deemed too complicated, and a simple flag set by an api might be easier for the plugins to use. Do we have a test for that feature mentioned in the docs? Regards, Fei Deng Sent from my iPhone On Mon, Jun 17, 2024 at 10:45 PM Masakazu Kitajo <mas...@apache.org> wrote: > It's a documented feature. > > https://docs.trafficserver.apache.org/en/9.2.x/admin-guide/plugins/header_rewrite.en.html#close-connections-for-draining > > https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/header_rewrite.en.html#close-connections-for-draining > > On Mon, Jun 17, 2024 at 8:32 PM Masakazu Kitajo <mas...@apache.org> wrote: > > > Purposefully? Where did it happen? I'd say it was broken. We have that > use > > case and need a FIX. > > > > Masakazu > > > > On Mon, Jun 17, 2024 at 6:47 PM Fei Deng <duke8...@apache.org> wrote: > > > >> Actually it’s not possible by setting the “Connection: close” header. > That > >> was the initial intention of PR #11046, but with all the discussions it > >> looks like that functionality was taken out purposefully. > >> > >> Regards, > >> Fei Deng > >> > >> Sent from my iPhone > >> > >> > >> On Mon, Jun 17, 2024 at 8:42 PM Masakazu Kitajo <mas...@apache.org> > >> wrote: > >> > >> > It has been possible by setting "Connection: Close" header, which > means > >> > that a server wants no more requests on the connection and wants to > >> close > >> > it. > >> > > >> > If you want to close a connection on some conditions, you could check > >> the > >> > conditions and set the header by header_rewrite (or any plugins). And > >> those > >> > plugins that used to work for H1 do the same for H2 as well without > any > >> > changes (and probably for H3 as well, though it's not implemented > yet). > >> > > >> > From plugins' perspective, everything on ATS is HTTP/1. Headers are > >> > converted to H1 representation (e.g. ":authority" -> "Host"). It's > >> > natural to use the H1 interface between ATS core and plugins. In that > >> way, > >> > plugins don't even need to know/check the HTTP version. I don't think > >> > having something just for H2 is a right thing, unless it's truly an H2 > >> > specific thing (e.g. setting max H2 frame size). I didn't use "2" even > >> for > >> > ServerPush because I knew H3 was already coming. > >> > > >> > Masakazu > >> > > >> > On Mon, Jun 17, 2024 at 9:34 AM Fei Deng <duke8...@apache.org> wrote: > >> > > >> > > TSReturnCode TSHttp2GraceShutdown(TSHttpTxn txnp) > >> > > > >> > > With this new API, plugins can request a grace shutdown by sending > >> GOAWAY > >> > > frames (https://httpwg.org/specs/rfc7540.html#GOAWAY). > >> > > > >> > > This will also replace this PR > >> > > https://github.com/apache/trafficserver/pull/11046 > >> > > > >> > > Fei Deng > >> > > > >> > > >> > > >