Re: [quicwg/base-drafts] Clarify QPACK eviction races (#1237)
Mike Bishop <notifications@github.com> Thu, 26 April 2018 20:39 UTC
Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 0B79A126DCA for <quic-issues@ietfa.amsl.com>; Thu, 26 Apr 2018 13:39:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.009
X-Spam-Level:
X-Spam-Status: No, score=-3.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=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 LmUSQ34nbXel for <quic-issues@ietfa.amsl.com>; Thu, 26 Apr 2018 13:39:50 -0700 (PDT)
Received: from o3.sgmail.github.com (o3.sgmail.github.com [192.254.112.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C9553126C26 for <quic-issues@ietf.org>; Thu, 26 Apr 2018 13:39:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=XRo6ILf4V6FTkc1Mf1NVx3LWn4A=; b=LgS3oPh4epwEClr2 n/6hdoKCwj2/JB9GN4kaWhpVmwVURJpm1Yx+V8WRgioshOiuyDQqJOeUSrVmJZIf HgX0CknffaxWzAU6vc+wfvde7UF2aQ3AWHisKZ9OarBbTAbShWwAUYbeQNpZTtbD oe5rHUg+dCLf3fHjHFApTP2IkCg=
Received: by filter1153p1mdw1.sendgrid.net with SMTP id filter1153p1mdw1-24953-5AE23914-9 2018-04-26 20:39:48.559621664 +0000 UTC
Received: from github-lowworker-39ccb07.cp1-iad.github.net (unknown [192.30.252.40]) by ismtpd0005p1iad1.sendgrid.net (SG) with ESMTP id _nsctcLFSXu1a6qSPRpl0g for <quic-issues@ietf.org>; Thu, 26 Apr 2018 20:39:48.476 +0000 (UTC)
Received: from github.com (localhost [127.0.0.1]) by github-lowworker-39ccb07.cp1-iad.github.net (Postfix) with ESMTP id 728B6400042 for <quic-issues@ietf.org>; Thu, 26 Apr 2018 13:39:48 -0700 (PDT)
Date: Thu, 26 Apr 2018 20:39:48 +0000
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab95057c641f33e6df4513085e56cc4dfb178c23dc92cf0000000116f9fb1492a169ce12443a1c@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1237/review/115738461@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1237@github.com>
References: <quicwg/base-drafts/pull/1237@github.com>
Subject: Re: [quicwg/base-drafts] Clarify QPACK eviction races (#1237)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ae23914711e4_1cb2b0b0a1f6f543999d"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak1EaQ0ez2X8Z+2IY2rmYXAp7MO/D0o+F8vA5+ qXwJBosxKPSey51yxLdx3xhBBKXV25OrJ9Dn03tGtih/sjWCQHXBBdAFEau44S+lQJcNy1s5Izrtmc 8rHfIg27bkZceq86zs/yHxuesrCmayTtURUYj3OloE5adnSIT0wFlxYdP1QqTCly3PsuqEQaOkpRAd w=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/Bxfo_87pZPAch5NDdY4A85MTjiI>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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, 26 Apr 2018 20:39:52 -0000
MikeBishop commented on this pull request.
> -entry remains unacknowledged. If a new header to be inserted into the dynamic
-table would cause the eviction of such an entry, the encoder MUST NOT emit the
-insert instruction until the reference has been processed by the decoder and
-acknowledged.
-
-The encoder can emit a literal representation for the new header in order to
-avoid encoding delays, and MAY insert the header into the table later if
-desired.
-
-To ensure that the blocked eviction case is rare, references to the oldest
-entries in the dynamic table SHOULD be avoided. When one of the oldest entries
-in the table is still actively used for references, the encoder SHOULD emit an
-Indexed-Duplicate representation instead (see {{indexed-duplicate}}).
+The encoder MUST NOT emit an instruction that evicts an entry while a reference
+to that entry remains unacknowledged. When the encoder encounters a blocked
+eviction in the course of encoding a header block, it SHOULD emit a literal
SHOULD implies that the encoder has a different option which is appropriate in certain circumstances. What else could the encoder do, and when would it choose that? (I don't think it does, in which case I'd just skip the normative language here and say that's what the encoder does.)
> +any eviction-prone entries, which are dynamic table entries that might be
+evicted soon. Rather than reference an eviction-prone entry, the encoder SHOULD
+emit an Indexed-Duplicate representation (see {{indexed-duplicate}}), and
+reference the duplicate instead.
+
+To identify eviction-prone entries, the encoder can maintain a draining index,
+which is the smallest absolute index in the dynamic table that it will emit a
+reference for. As new entries are inserted, the encoder increments the
+draining index such that the amount of free and draining space in the dyanmic
+table is larger than its target threshold.
+
+~~~~~~~~~~ drawing
+ +----------------+-----------------------+------------+
+ | Eviction-prone | Referenceable | Free Space |
+ | Entries | Entries | |
+ +----------------+-----------------------+------------+
I'm not sure if "Free Space" is necessarily the correct thing here, at least in a steady state (which is the only time eviction is an issue). I suppose it's sometimes possible to insert something small without evicting anything, but I'm not sure if that's relevant.
--
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/1237#pullrequestreview-115738461
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Mike Bishop
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Martin Thomson
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… afrind
- [quicwg/base-drafts] Clarify QPACK eviction races… afrind
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Martin Thomson
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… afrind
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Mike Bishop
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Mike Bishop
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… afrind
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… afrind
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Martin Thomson
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Martin Thomson
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… afrind
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Mike Bishop
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Martin Thomson
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… Martin Thomson
- Re: [quicwg/base-drafts] Clarify QPACK eviction r… afrind