Re: Priority implementation complexity (was: Re: Extensible Priorities and Reprioritization)

"Roy T. Fielding" <> Tue, 09 June 2020 22:44 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C7F283A0D79 for <>; Tue, 9 Jun 2020 15:44:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.749
X-Spam-Status: No, score=-2.749 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id REsvom3Ag8cA for <>; Tue, 9 Jun 2020 15:44:55 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 3E0CC3A0834 for <>; Tue, 9 Jun 2020 15:44:46 -0700 (PDT)
Received: from lists by with local (Exim 4.92) (envelope-from <>) id 1jimwD-0003wP-JB for; Tue, 09 Jun 2020 22:41:45 +0000
Resent-Date: Tue, 09 Jun 2020 22:41:45 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1jimwB-0003vd-MT for; Tue, 09 Jun 2020 22:41:43 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1jimw9-0005SQ-To for; Tue, 09 Jun 2020 22:41:43 +0000
X-Sender-Id: dreamhost|x-authsender|
Received: from (localhost []) by (Postfix) with ESMTP id 797DB3412DC for <>; Tue, 9 Jun 2020 22:41:28 +0000 (UTC)
Received: from (100-96-137-11.trex.outbound.svc.cluster.local []) (Authenticated sender: dreamhost) by (Postfix) with ESMTPA id 1F936341830 for <>; Tue, 9 Jun 2020 22:41:27 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by (trex/5.18.8); Tue, 09 Jun 2020 22:41:28 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|
X-MailChannels-Auth-Id: dreamhost
X-Bitter-Tank: 5abeb9750915babb_1591742488185_802983211
X-MC-Loop-Signature: 1591742488185:2917950079
X-MC-Ingress-Time: 1591742488184
Received: from (localhost []) by (Postfix) with ESMTP id D52E57F61B for <>; Tue, 9 Jun 2020 15:41:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h=from :content-type:content-transfer-encoding:mime-version:subject :date:references:to:in-reply-to:message-id;; bh=EXoaY LDQpiLUg8U4h+ZvmTG4d4w=; b=PfcLERzRDc0QHDRlP87qg/sf7TGQ5zMHRCa4I ikXybnr9qfj3aNOYzDtDayiLDrZmLuXZFOLEKkdvci8n+f/GghTNqkLmAkv5YTjy S2DiHwceHtMDVIthyA6BFb0eDgXqCdSA9UDbmu3NYta9BixMenzLf9Mavx/c83+V nWoYmc=
Received: from [] ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: by (Postfix) with ESMTPSA id 7BE397F5F3 for <>; Tue, 9 Jun 2020 15:41:25 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a24
From: "Roy T. Fielding" <>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\))
Date: Tue, 9 Jun 2020 15:41:23 -0700
References: <> <> <> <> <> <20200609144428.GC22180@lubuntu> <> <20200609194145.GA26778@lubuntu>
To: HTTP Working Group <>
In-Reply-To: <20200609194145.GA26778@lubuntu>
Message-Id: <>
X-Mailer: Apple Mail (2.3445.104.14)
X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduhedrudehhedgtdelucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucenucfjughrpefhtgfgggfuffhfvfgjkffosehtqhhmtdhhtddvnecuhfhrohhmpedftfhohicuvfdrucfhihgvlhguihhnghdfuceofhhivghlughinhhgsehgsghivhdrtghomheqnecuggftrfgrthhtvghrnhepjedugeegueeufedutdfhjeeihfefgfefgeehheethfeggfejieefgfefhefguddvnecukfhppeeikedrvddvkedrkedurddvheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopegludelvddrudeikedruddruddungdpihhnvghtpeeikedrvddvkedrkedurddvhedprhgvthhurhhnqdhprghthhepfdftohihucfvrdcuhfhivghlughinhhgfdcuoehfihgvlhguihhnghesghgsihhvrdgtohhmqedpmhgrihhlfhhrohhmpehfihgvlhguihhnghesghgsihhvrdgtohhmpdhnrhgtphhtthhopehivghtfhdqhhhtthhpqdifghesfiefrdhorhhg
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-6.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1jimw9-0005SQ-To e34dae9c1e6bd767933046333a6e2453
Subject: Re: Priority implementation complexity (was: Re: Extensible Priorities and Reprioritization)
Archived-At: <>
X-Mailing-List: <> archive/latest/37743
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On Jun 9, 2020, at 12:41 PM, Dmitri Tikhonov <> wrote:
> On Tue, Jun 09, 2020 at 08:22:10PM +0100, Lucas Pardue wrote:
>> On Tue, Jun 9, 2020 at 3:44 PM Dmitri Tikhonov <>
>> wrote:
>>> I don't think we can judge either way.  If Alice implements QPACK and
>>> Bob implement reprioritization, results will vary based on their level
>>> of competence.  The degree of burden will also vary for each
>>> particular implementation.
>> I agree that, all things considered, QPACK and prioritization are
>> dissimilar. However, this thread is specifically exploring the mechanics of
>> the reprioritization mechanism, which requires a signal received on one
>> stream (the control stream) to affect the send behaviour on another. There
>> is always a possibility of a race here. My conjecture is that the
>> priorities race ends up being is similar to QPACK'S (i.e. handling blocked
>> streams). And therefore if Alice implements QPACK dynamic support
>> competently, then implementing reprioritization is no more difficult.
> My point was that Alice may have no problem implementing repriotization,
> but Bob very well might!  That is to say, there may be more than one
> person working on an HTTP/3 stack.  After Bob gives up after three
> months leaving reprioritization a steaming pile of crap, Alice (who's
> grown to hate that fool) inherits Bob's code, but may not be able to
> make a good implementation given tight deadlines.  Alice gets blamed;
> Bob gets promoted.  The story gets sadder and sadder in my mind, so
> I better stop.

Umm, yeah.

May I suggest that we include all of the signals necessary to reprioritize and
leave it up to the recipients whether or not to implement them? That's what
we have to deal with anyway given the latency issues.