Re: [quicwg/base-drafts] GOAWAY initiating a graceful shutdown can carry a huge stream ID (#3343)

Martin Thomson <notifications@github.com> Wed, 15 January 2020 23:10 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0A18D120113 for <quic-issues@ietfa.amsl.com>; Wed, 15 Jan 2020 15:10:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level:
X-Spam-Status: No, score=-8 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BncVeQeidRqj for <quic-issues@ietfa.amsl.com>; Wed, 15 Jan 2020 15:09:57 -0800 (PST)
Received: from out-24.smtp.github.com (out-24.smtp.github.com [192.30.252.207]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B5EE7120044 for <quic-issues@ietf.org>; Wed, 15 Jan 2020 15:09:57 -0800 (PST)
Received: from github-lowworker-ca5950c.va3-iad.github.net (github-lowworker-ca5950c.va3-iad.github.net [10.48.17.57]) by smtp.github.com (Postfix) with ESMTP id E2BE36A006F for <quic-issues@ietf.org>; Wed, 15 Jan 2020 15:09:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1579129796; bh=URAGM4sMv9Pye3ATyfUawiBLEOnpKVMopILHfnJdKC8=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=itUElqhBsKI5HRvMrwGBxNDKyhNx8utT7VSUdXhZMVVEqCRQ6bHfegHAtT9f22xr4 qkzLLklHdtls3pU2SXB3Hn0KAXXx/Hl4yNgLL3geEGG/9E7r9nMNVmb9WN2Ti5xB+6 5cS+4sCo3R/NirmA+uEIyEX9omhp1ageZ110Kr+4=
Date: Wed, 15 Jan 2020 15:09:56 -0800
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKYYDT6CBEWYZLKUDVV4FTHEJEVBNHHCBRUE74@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3343/review/343581669@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3343@github.com>
References: <quicwg/base-drafts/pull/3343@github.com>
Subject: Re: [quicwg/base-drafts] GOAWAY initiating a graceful shutdown can carry a huge stream ID (#3343)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e1f9bc4d2eb4_2a893f86550cd96815686"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/zFQqy2-vHjfK7HmI5RACZdBK6Vc>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Jan 2020 23:10:00 -0000

martinthomson commented on this pull request.

Thanks for doing this Kazuho.  I do have some questions though.  I realize that the original was unclear and I suspect that this is now more unclear.

> @@ -727,12 +727,14 @@ indicating different stream IDs, but MUST NOT increase the value they send in
 the last Stream ID, since clients might already have retried unprocessed
 requests on another connection.  A server that is attempting to gracefully shut
 down a connection SHOULD send an initial GOAWAY frame with the last Stream ID
-set to the maximum value allowed by QUIC's MAX_STREAMS and SHOULD NOT increase
-the MAX_STREAMS limit thereafter.  This signals to the client that a shutdown is
+set to the maximum value allowed by the concurrency control of QUIC for the
+client-initiated, bidirectional streams (see section 4.5 of {{QUIC-TRANSPORT}})

```suggestion
client-initiated, bidirectional streams (see Section 4.5 of {{QUIC-TRANSPORT}})
```

> @@ -727,12 +727,14 @@ indicating different stream IDs, but MUST NOT increase the value they send in
 the last Stream ID, since clients might already have retried unprocessed
 requests on another connection.  A server that is attempting to gracefully shut
 down a connection SHOULD send an initial GOAWAY frame with the last Stream ID
-set to the maximum value allowed by QUIC's MAX_STREAMS and SHOULD NOT increase
-the MAX_STREAMS limit thereafter.  This signals to the client that a shutdown is
+set to the maximum value allowed by the concurrency control of QUIC for the
+client-initiated, bidirectional streams (see section 4.5 of {{QUIC-TRANSPORT}})
+or any value above that, and SHOULD NOT grant any more concurrency credit at the

I would say "could request that the transport not grant any more ..." as this is does not need to carry normative force.  But that's not text you changed, so I'll leave that for @MikeBishop to sort out.

> @@ -727,12 +727,14 @@ indicating different stream IDs, but MUST NOT increase the value they send in
 the last Stream ID, since clients might already have retried unprocessed
 requests on another connection.  A server that is attempting to gracefully shut
 down a connection SHOULD send an initial GOAWAY frame with the last Stream ID
-set to the maximum value allowed by QUIC's MAX_STREAMS and SHOULD NOT increase
-the MAX_STREAMS limit thereafter.  This signals to the client that a shutdown is
+set to the maximum value allowed by the concurrency control of QUIC for the

Is this 2^62-4 or the current maximum stream limit (for c-i, bidi)?

Concretely, I think that if we are making a recommendation, we should permit either.  The difference between those choices should be clear enough to implementers once we lay it out like that.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3343#pullrequestreview-343581669