Re: [quicwg/base-drafts] HTTP/3 with strict priorities (#2700)

Robin Marx <notifications@github.com> Fri, 17 May 2019 08:27 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 1842B1201AF for <quic-issues@ietfa.amsl.com>; Fri, 17 May 2019 01:27:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level:
X-Spam-Status: No, score=-8.01 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, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] 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 rKNQ1i6JzDL5 for <quic-issues@ietfa.amsl.com>; Fri, 17 May 2019 01:27:26 -0700 (PDT)
Received: from out-3.smtp.github.com (out-3.smtp.github.com [192.30.252.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4FCB9120041 for <quic-issues@ietf.org>; Fri, 17 May 2019 01:27:26 -0700 (PDT)
Date: Fri, 17 May 2019 01:27:25 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1558081645; bh=dj8Q/nDNMWvMk6RLv+jGarjXMjcH2Sgy1FiOiEo/y9Q=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=ufQIA2B4zcpvpHnOSFpkYYW8JfDiAZghrfDWvBF5qriDoMub/El+YjVlQol4WikMp +SupWQhIyflq+++BDcy/WC7XlaVxduBcdUHgOpGIT7MgabjFkonnayBEJeHVpLiomB NZfOWp+tZ0RJwH8HXl2ItYuyt+ivlsVlGMtiIFF8=
From: Robin Marx <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKZOLXP2YULPCV5SAWF25ORO3EVBNHHBU6PCKA@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2700/c493369036@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2700@github.com>
References: <quicwg/base-drafts/pull/2700@github.com>
Subject: Re: [quicwg/base-drafts] HTTP/3 with strict priorities (#2700)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5cde706d2f65e_46893ff3e6acd96434404a"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: rmarx
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/idkcNlnnl1aT4iSKeeH_FIMT1KQ>
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: Fri, 17 May 2019 08:27:28 -0000

To clarify, I am not saying strict interruption is not critical. I am saying strict interruption **inside a single, sequential queue** is not critical.

As in: CSS/JS should still definitely interrupt images and the small SVG icon should not make progress until higher priority resources are fully fetched. 

The main thing we lost imo when getting rid of exclusive dependencies in practice, was the ability to fully re-prioritize within a sequential list, the way that Chrome is doing its H2 setup (without placeholder, all nodes are daisy-chained). In https://github.com/quicwg/base-drafts/issues/2502#issuecomment-491246513 I did a thought experiment of how we might do Chrome's behaviour with the current text and it comes out very similar. The only thing missing is the ability to interrupt within a single priority "bucket" (represented by a placeholder). My point is that I doubt this is necessary, as I don't feel you want to interrupt e.g., a Font file for a CSS file. And even if you would want that, you could add an extra priority bucket. I am however not very sure this is the case, so that's what I wanted @pmeenan's input on. 

If that specific ability is not very critical, it is my feeling we do not need this change, as it would add much complexity and departure from HTTP/2, while gaining us little. I would be more in favor of providing an extension that just implements Pat's original proposal outside of the main setup (so no tree, nodes, placeholders, etc.). I am perfectly willing to help write such a document btw, @pmeenan ;) 

It is possible that Pat's proposal (and by consequence, this PR) allows additional options that weren't possible in H2 that I haven't considered. That would be a good argument to push forward with this, but I haven't seen a concrete example of those yet. 

-- 
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/2700#issuecomment-493369036