W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2015

Re: Streams after receiving GOAWAY

From: Patrick McManus <pmcmanus@mozilla.com>
Date: Sun, 15 Nov 2015 10:47:04 -0500
Message-ID: <CAOdDvNpAVoKfd=Y67Wa0S5eqtcvdnAr+Gz21sF=jfxj5dQCSow@mail.gmail.com>
To: Glen Knowles <gknowles@ieee.org>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
On Sun, Nov 15, 2015 at 5:24 AM, Glen Knowles <gknowles@ieee.org> wrote:

> When my server wants to close a connection it sends a GOAWAY with last
> stream id set to a value somewhat higher than anything it has received. It
> then keeps the connection until the reported last id is reached or enough
> time goes by.

That's a bug for your server. When you send GoAway(last=N) as a server, the
client knows that streams >N can be safely replayed in another session -
they were not accepted by the server. When you send GoAway(last=N+C) (with
C as a buffer) and you continue to process some but not all of C based on
"enough time going by" the client loses this information.. So that will
lead to interop bugs and unsafe behavior.

If you're interested in breaking the connections for reasons of idle, this
shouldn't be an issue. If you're interested in migrating load gracefully
then you might take a look at alt-svc which is meant to cover that case by
setting up an alternative connection asynchronously.


Received on Sunday, 15 November 2015 15:47:31 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 11:11:40 UTC