[quicwg/base-drafts] Define INITIAL_PRIORITY frame and remove exclusive dependencies (#2075)

Mike Bishop <notifications@github.com> Thu, 29 November 2018 23:59 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 72B261286E7 for <quic-issues@ietfa.amsl.com>; Thu, 29 Nov 2018 15:59:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Level:
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, 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_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 QvoOfRNnp0qG for <quic-issues@ietfa.amsl.com>; Thu, 29 Nov 2018 15:59:38 -0800 (PST)
Received: from out-1.smtp.github.com (out-1.smtp.github.com [192.30.252.192]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 86CD3128766 for <quic-issues@ietf.org>; Thu, 29 Nov 2018 15:59:38 -0800 (PST)
Date: Thu, 29 Nov 2018 15:59:37 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1543535977; bh=IV/SAMwWxqSKPDN8w0myq+TA4B5aY8JScM9lolF2+TQ=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=bpzTuiw7NB2vPrxRbEWZpOJjbNapBpfW4I4Adhk9q81CDfvjL9piqwnRHKCfKz8vL /VCN7Mp0iqIF67c/XoV87qQOQtAJ+Qs2Vx4q1buR5dGEiDo7tcNAI9TM+4iW92KTIm 1KAfFcMuX1DQZJOCSE1eGhcki7aXjwvvo/rSZDsk=
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab0e86b91c65ed6b551d9605ef8b66cca17c6e8ddb92cf0000000118183f6992a169ce17019477@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2075@github.com>
Subject: [quicwg/base-drafts] Define INITIAL_PRIORITY frame and remove exclusive dependencies (#2075)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c007d6954bb3_15803fe2e9cd45b857235"; 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
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/7OzMretamlnQ0MB8xKu6xyJumDo>
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, 29 Nov 2018 23:59:41 -0000

Fixes #1865.  The observations from the issue discussion are:
- HTTP/2's "exclusive" prioritization (which make the prioritized element the sole child of the parent, making all current parents children of the prioritized element instead) is the cause of many ordering headaches and actually makes it impossible to guarantee an eventually-consistent view of priority between client and server.
- If a PRIORITY frame gets delayed and a request is quickly processed, it may be processed immediately (default is pretty high) and only later be discovered to be unimportant.

In the absence of exclusive dependencies, it's possible for a request stream to carry its own initial priority, as @dtikhonov proposed.  This is guaranteed to be the first time that a priority is assigned to this request, and subsequent PRIORITY frames always override it.  (If a PRIORITY frame gets reordered ahead, INITIAL_PRIORITY is ignored.)

This is a further departure from RFC 7540's priority scheme, but as it appears exclusive priorities and reordering are somewhat incompatible, I believe is still within our design space.

**Depends on #2074; retarget before merging.**
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/2075

-- Commit Summary --

  * INITIAL_PRIORITY

-- File Changes --

    M draft-ietf-quic-http.md (87)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2075.patch
https://github.com/quicwg/base-drafts/pull/2075.diff

-- 
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/2075