Re: Streams after receiving GOAWAY

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.

hth

-P

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