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
> >> > >
> >> >
> >>
> >
>

Reply via email to