Re: [quicwg/base-drafts] Limit RCID state (#3547)

Kazuho Oku <notifications@github.com> Thu, 02 April 2020 00:18 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 D14553A1503 for <quic-issues@ietfa.amsl.com>; Wed, 1 Apr 2020 17:18:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.1
X-Spam-Level:
X-Spam-Status: No, score=-3.1 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, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, 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 SVjUOMdGKM9j for <quic-issues@ietfa.amsl.com>; Wed, 1 Apr 2020 17:18:03 -0700 (PDT)
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 3C9BD3A0DEA for <quic-issues@ietf.org>; Wed, 1 Apr 2020 17:18:03 -0700 (PDT)
Received: from github-lowworker-2ef7ba1.ac4-iad.github.net (github-lowworker-2ef7ba1.ac4-iad.github.net [10.52.16.66]) by smtp.github.com (Postfix) with ESMTP id 5373F6A0B78 for <quic-issues@ietf.org>; Wed, 1 Apr 2020 17:18:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1585786682; bh=kPoH59dUPNTJ/vfoYwUCT+mnpizWi2tQtCdR72I7se0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=vp9jxb4+whef4xwDLwHj7GlrcYiH5sf2C8PqqF60VjbivhRzvV2BFIThKeWvXnKHg GrA7vcBZkPXhEtLjDGiChmTC8HjmLU2BAH2A5i33dpIbxGbytKFrzRC4HkLsFRgX7Z xyO9D9EoEC9+W/JZffbbWZComoFjQQ2AjW9fxo5c=
Date: Wed, 01 Apr 2020 17:18:02 -0700
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKY473WPTHNDHEPAMLF4SEIDVEVBNHHCGFYIAU@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3547/review/386027439@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3547@github.com>
References: <quicwg/base-drafts/pull/3547@github.com>
Subject: Re: [quicwg/base-drafts] Limit RCID state (#3547)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e852f3a42c26_73473fdefb6cd968136197"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
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/l8EFBNINaE51ihqhGFYAGp9_3nM>
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: Thu, 02 Apr 2020 00:18:05 -0000

@kazuho requested changes on this pull request.



> @@ -1069,6 +1069,15 @@ to cease using the connection IDs when requested can result in connection
 failures, as the issuing endpoint might be unable to continue using the
 connection IDs with the active connection.
 
+An endpoint SHOULD limit the number of in flight RETIRE_CONNECTION_ID frames
+to bound the necessary state. In order to minimize delay in common situations,
+the limit on the number of in flight RETIRE_CONNECTION_IDs SHOULD be at least
+the active_connection_id_limit. An endpoint MAY choose to treat having too many
+connection IDs in need of retirement as a connection error of type
+CONNECTION_ID_LIMIT_ERROR.

If we are to suggest that endpoints MAY immediately close the connection (an action that leads to loss of HTTP requests / responses), we should give a specific advice on when it would be safe to do so. The only number we provide in this paragraph is `active_connection_id_limit`, but we agree that it is too small to be used for closing the connection. We should be clear about that.

> @@ -1069,6 +1069,15 @@ to cease using the connection IDs when requested can result in connection
 failures, as the issuing endpoint might be unable to continue using the
 connection IDs with the active connection.
 
+An endpoint SHOULD limit the number of in flight RETIRE_CONNECTION_ID frames
+to bound the necessary state. In order to minimize delay in common situations,
+the limit on the number of in flight RETIRE_CONNECTION_IDs SHOULD be at least
+the active_connection_id_limit. An endpoint MAY choose to treat having too many

For the first two sentences, I think we should better use phrases like "state required to track the CIDs being retired." I also think that we should provide guidance on choosing the limit, which should be greater than active_connection_id_limit (see #3509).

"in flight" is confusing, as people might read it as if it excludes sequence number of retired CIDs that are to be sent but cannot be sent immediately. There is no guarantee that RCID frames for all the sequence numbers to be retired can be sent immediately as the frame is under the control of CC. Note that there would be an incentive for people to consider that "in flight" here excludes those yet to be sent, because is the next setence we talk about "having too many in need of retirement." That gives the impression that "in flight" means something narrower.

-- 
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/3547#pullrequestreview-386027439