Re: Call for Consensus: Moving HTTP/3, QPACK and Recovery to the Late-Stage Process

Martin Duke <> Mon, 18 November 2019 00:24 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8792C12000F for <>; Sun, 17 Nov 2019 16:24:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Eh3Kd7uHuLbO for <>; Sun, 17 Nov 2019 16:24:34 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4864:20::334]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7C3E312020A for <>; Sun, 17 Nov 2019 16:24:34 -0800 (PST)
Received: by with SMTP id z26so15504103wmi.4 for <>; Sun, 17 Nov 2019 16:24:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=M9kwcja5kkECsZmFRag8YoLhrtl9eXSfqwRowoD0IYw=; b=s7LWCYGj5S5vbRIdLNjkXtURRdPpKduML8qjPwboYbcEwEhb2gD9UUJThQwyNXntGE /by9BuEXwLvL26piQtI3rmr/ej5yU4q4mG6iTXvhSObj9xbUjOT4vXlg/QgjeMhyq7RF MZXR1sdoOXXmYYzpySHi5c3RUEIJGq9R1Nz7FAtwIWFMurT4fH8rctq4epxNe42+kk6U 9aOsJQFokOp+35XkDoAUktvQLNMHJPEzFkse22I5AhlGoipN2BLIy/B+qfK3re5oEw5B An3CQNLvINDGrM5SEB/nxpIIFEvMo1gMvwcitFh+7TFkEVold5cf9wy91/3YVDH6LI0n G0tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=M9kwcja5kkECsZmFRag8YoLhrtl9eXSfqwRowoD0IYw=; b=XfDf9rgBCLO7F7r8yHV+23hYgZBI1KOIfnGGgdxqqYqQ2XYk6fwkVGRNaV+qkxYRjz HoWVEUz1KrnMWhY+q7fIBlfZLke5NtE6sGO8KlBOrFSWglxxEREsqPWmrpNtIHhrhRaZ CMnYu2S/9dvGCWRvkrlrJQU0Ajq6OV3tYpZmRXlDTz7Z5JX5hnZ4Ve/E1QxAfkKkMPGI twPyGQ1gX/9eixrtOzp+fIPpMdJkTFtKbEiSdorr0zeffH7sfPlesLXH8KLtn9AmNBNV OkyKXEuGPk/+Eb4ZHqLaAgNz8QQ601xWH/YcnbWmVJipNLiljbWiWSv7Xw06/6ZncklW QzUQ==
X-Gm-Message-State: APjAAAWUurRqDGOz7wOiNhElI43OV9WURtBN0Utuv0PTz4POrUSJ8FuE V6GRuBGL+4pA54di4ObWBs6S1brMeCmDTphLU7LvPMpB
X-Google-Smtp-Source: APXvYqxz0Ku1iKbLkr4JKWiVU9XvbufVmOZ0nlD0XTbxNCkUbZlXhLO1+9JqN3zFt+GiuSXC3qSUqzZqV6dmc2gKnUM=
X-Received: by 2002:a1c:2846:: with SMTP id o67mr26465950wmo.7.1574036672791; Sun, 17 Nov 2019 16:24:32 -0800 (PST)
MIME-Version: 1.0
References: <> <> <> <> <> <> <>
In-Reply-To: <>
From: Martin Duke <>
Date: Mon, 18 Nov 2019 08:24:21 +0800
Message-ID: <>
Subject: Re: Call for Consensus: Moving HTTP/3, QPACK and Recovery to the Late-Stage Process
To: Ian Swett <>
Cc: Mike Bishop <>, Lars Eggert <>, Mark Nottingham <>, IETF QUIC WG <>, Roy Fielding <>
Content-Type: multipart/alternative; boundary="000000000000becb22059793f81b"
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 18 Nov 2019 00:24:38 -0000

OK, I apparently missed taht a few of these pushed to master. Yes, let's
move for late-stage

On Wed, Nov 13, 2019 at 10:39 PM Ian Swett <> wrote:

> I'm not aware of anything important in-flight( :) ) for recovery.  #3066
> <> has been in the
> editor's copy for over a week now, and did not quite make -24, so I would
> recommend reading the editors copy.  There is one handshake optimization PR(
> #3080 <>) and an alternate
> solution to the amplification deadlock(#3162
> <>), but neither is
> critical in my opinion.
> There is a possibility of the discard keys conversation changing recovery,
> though at least one solution(HANDSHAKE_DONE
> <>) does not require any
> changes.  If changes are required, I expect them to be ~2-3 sentences.
> On Tue, Nov 12, 2019 at 7:43 PM Martin Duke <>
> wrote:
>> Put another way, I think Gorry's planned review of draft-24 is probably
>> premature.
>> On Tue, Nov 12, 2019 at 4:42 PM Martin Duke <>
>> wrote:
>>> IMO the recovery draft is in the midst of a major revision dealing with
>>> the aftereffects of discarding the crypto timeout. Ian still has a bunch of
>>> stuff in flight for this. When all of those PRs land I would like to have a
>>> short period to review the working draft and see if it looks good.
>>> On Mon, Nov 11, 2019 at 7:40 AM Mike Bishop <>
>>> wrote:
>>>> I'll also note that it's relatively easy from a spec perspective to
>>>> allow trailers to arrive before the end of the body, or to allow multiple
>>>> sets of trailers to arrive.  I suspect most clients won't process trailers
>>>> until they have the body anyway, but the real question is what clients do
>>>> with multiple trailer sets.  I'm not certain whether that's in our scope or
>>>> not, but that's a separate conversation.  Feel free to open an issue for
>>>> that specific discussion.
>>>> -----Original Message-----
>>>> From: QUIC <> On Behalf Of Mark Nottingham
>>>> Sent: Sunday, November 10, 2019 8:01 PM
>>>> To: Roy Fielding <>
>>>> Cc: Lars Eggert <>rg>; IETF QUIC WG <>
>>>> Subject: Re: Call for Consensus: Moving HTTP/3, QPACK and Recovery to
>>>> the Late-Stage Process
>>>> Hi Roy,
>>>> Responding to the parts relevant to this CfC.
>>>> > On 7 Nov 2019, at 5:39 am, Roy T. Fielding <> wrote:
>>>> >
>>>> >> On Nov 5, 2019, at 5:01 PM, Mark Nottingham <> wrote:
>>>> >>
>>>> >> Previously, we've moved to the 'late-stage process' documented at
>>>> [1] for the Transport and TLS drafts. The chairs and editors now feel that
>>>> it's time to move the Recovery, HTTP/3, and QPACK drafts to that process as
>>>> well.
>>>> >>
>>>> >> As before, this is because we're getting to a stage we feel the
>>>> documents would benefit from slower and slightly more formal process, so
>>>> that the rate of change is not so high, changes that do occur are
>>>> well-vetted, and the documents get closer to reflecting consensus in the
>>>> working group.
>>>> >
>>>> > I don't think that process has worked well for QUIC.
>>>> Noted.
>>>> > There are specific issues that are contentious enough to timebox and
>>>> > conclude, in a formal (and faster) fashion than was done before.
>>>> > That makes sense when needed for a specific issue. I don't know of
>>>> any
>>>> > such issues for those three drafts. IOW, I don't know of any issues
>>>> > for which it makes sense for the Chairs to pre-empt the specification
>>>> > authors in deciding what can or cannot result in changes to the
>>>> drafts
>>>> > just because of the timing of when the issue was raised.
>>>> You misunderstand the process; the Chairs aren't pre-empting anything,
>>>> the group is attempting to agree to a path to completing this work.
>>>> > The late-stage process seems to focus all of our energy into
>>>> > in/out-of-scope arguments rather than actual text in the
>>>> specifications.
>>>> I don't see any evidence for that claim; what makes you believe that?
>>>> > The last interim spent easily twice as much time discussing process
>>>> > and process planning than it did HTTP/3. Prior interims were worse.
>>>> We spent a day talking about transport and TLS, part of a morning
>>>> talking about planning the future of our work (if you want to call that
>>>> "process and process planning") and the bulk of the (longer) afternoon
>>>> session talking about H3. This isn't surprising, since our goal for the
>>>> meeting was to get the Transport and TLS documents close to finished.
>>>> > I don't even recall the last time contents of the HTTP/3 spec being
>>>> > discussed on list, outside of very specific issues related to
>>>> transport.
>>>> > I would like to see HTTP/3 written with HTTP in mind, not as a set of
>>>> > diffs against h2.
>>>> That is by charter; we're largely limited to mapping H2 onto QUIC.
>>>> > This is not a small undertaking, but it isn't a massive one either..
>>>> > Basically, import the bits of h2 that are necessary to explain
>>>> > HTTP/3's operation and intent, and then start referencing the
>>>> > http-core drafts instead of 723x. Yes, I know that is risky, but it
>>>> is the right thing to do.
>>>> > And it needs to be done before http-core is finished, since that
>>>> > effort exists largely to place the right content (in the right
>>>> places)
>>>> > for
>>>> > HTTP/3 to reference.
>>>> AIUI that is still our intent, and shouldn't be impeded by the
>>>> late-stage process, since that work should be editorial.
>>>> > I have no idea what the status is with QPACK, but we should learn a
>>>> > lesson from the last time and make sure the fixed compression
>>>> > dictionary (if any) is based on traffic at more than one proxy or
>>>> > origin server. Or at least have each of the major deployments
>>>> generate
>>>> > their local "best" encoding and do some cross-testing of the N
>>>> choices
>>>> > (plus one or two based on a hand-crafted expert merge).
>>>> >
>>>> > I would like for HTTP/3 to have a mechanism for communicating
>>>> metadata
>>>> > (like trailers) in mid-stream, both for requests (e.g., priority) and
>>>> > responses (e.g., chained sigs). That has been a design goal for HTTP
>>>> > since 1995 or so. HTTP/1.1 had it, albeit limited to chunked
>>>> extensions.
>>>> > It has been proposed multiple times and keeps getting postponed
>>>> > because of "concern about scope". This is not a semantics issue (they
>>>> > are just optional trailers that arrive early) -- it is a multiplex
>>>> > framing issue (a new frame type and expectation to process).
>>>> Where are the multiple proposals you refer to? We've been working on h3
>>>> now for more than three years. If you submit them now, they'll be design
>>>> issues.
>>>> I'd say that the Late-Stage process (or at least the proposal of
>>>> adopting it) is working exactly as intended here -- making people realise
>>>> that if they still have issues / changes that they want discussed, they
>>>> need to bring them to our attention now, not as we go to WGLC.
>>>> Cheers,
>>>> --
>>>> Mark Nottingham