git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: http2 connection keepalive broken


On Mon, Apr 30, 2018 at 9:28 AM, Stefan Eissing <stefan.eissing@xxxxxxxxxxxxx
> wrote:
>
> with the change http://svn.apache.org/r1819214 the keepalive handling
> in HTTP/2 was broken, as reported here
>
> https://github.com/icing/mod_h2/issues/160

Oh crap, I thougth that the h2 connection was over at this point (with
its own keepalive handling regardless of MPM).
Sorry about that.

>
> If the mpm_event connection state handling is not suitable to
> honoring a keepalive setting, we need to fix this. Keeping idle
> connections parked in fdqueue without occupying a thread seems to be
> one of event's advantages. mod_http2 did enable this by keeping the
> connection in CONN_STATE_WRITE_COMPLETION. The change places it in
> CONN_STATE_LINGER which means it is closed after 1 second, always.
>
> Since you know event's connection state handling much better than me:
> what can we do to fix this?

There nothing wrong with returning CONN_STATE_WRITE_COMPLETION here
like before, CONN_STATE_HANDLER is wrong though.
So the previous code with s/CONN_STATE_HANDLER/CONN_STATE_LINGER/
should restore the behaviour I think.

Regards,
Yann.