Subject: Re: [quicwg/base-drafts] Clarify QPACK eviction races (#1237)

From: afrind <[email-masked]>
Date: Tue, 28 Aug 2018 16:52:50 -0700

afrind commented on this pull request.

> +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 I agree that the draining index always needs to be in the acknowledged range.  Consider the case where I insert a full table's worth of headers and none have yet been acknowledged.  An encoder will still want to stop referencing the oldest ones so they can be evicted soon, even if it causes duplication.  For the purposes of this section, I'm not sure I want to add the 'acknowledged index' to the picture.

-- 
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#discussion_r213507920

---

From: Mike Bishop <[email-masked]>
Date: Wed, 29 Aug 2018 10:48:47 -0700

MikeBishop commented on this pull request.

I'm with @afrind.  The pathological case I think you're describing is an encoder that won't / isn't permitted to block deciding that it should duplicate an old entry, but still can't use either one.  If it doesn't duplicate it more than once, that should be okay.

-- 
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#discussion_r213773851