Re: PRIORITY stream error?

"Martin Thomson" <mt@lowentropy.net> Wed, 06 March 2019 22:43 UTC

Return-Path: <mt@lowentropy.net>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1D1B9130F70 for <quic@ietfa.amsl.com>; Wed, 6 Mar 2019 14:43:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=cifLTI/b; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=wXvvIrml
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 HqZV39LmX86G for <quic@ietfa.amsl.com>; Wed, 6 Mar 2019 14:43:36 -0800 (PST)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A0207130E82 for <quic@ietf.org>; Wed, 6 Mar 2019 14:43:36 -0800 (PST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 9FB6222196 for <quic@ietf.org>; Wed, 6 Mar 2019 17:43:35 -0500 (EST)
Received: from imap2 ([10.202.2.52]) by compute1.internal (MEProxy); Wed, 06 Mar 2019 17:43:35 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=message-id:in-reply-to:references:date:from:to:subject :content-type:content-transfer-encoding; s=fm1; bh=UfIFITFQBqBoZ afNfa+d0aMeN+Y06zsClRrEuPYhokE=; b=cifLTI/bRSspoEsPRK6KingQr/7+f bxXceNj9M5xcpuBPJeu27he6UeXPCXQh5H/5XCVRUZ9L8yVL5AUSh19q1JHHGmVc RHtcGWeVtX2wQSD+tyGoqhannG/SDrm7PCNrYS1ZL8tPsuAKujAawLCtmto04m83 vD5d6kzJrS46y4zDE3eY1GvoVCB8zTXG1ufv3+J/lq53Ee5vd/AYJxn6Qb5D1S6F +QaOZ6DD6PkGB+jaVM41RrhRL447bnLcZg9qLYEdat/ekX/XbB0uw4D9TwmNJLaP p9SagjMNhlt6CNDP6SJeowEy9q/TfMg3UwSBShvq9X3PUHaU2fvQFB2sA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=UfIFITFQBqBoZafNfa+d0aMeN+Y06zsClRrEuPYhokE=; b=wXvvIrml HSIhv/8+DqfE4bE06h5gZ7Ihx3o6w8cOr40vB9QL9CXhitAGZbK3ubjT3hp5cEmy BH15kuQ7YOXPpjRaDSzrHjVQBMKx54yvCMZS/bqN5AoWvmMR1sjCGOW3w7zv1dEE mksE6NNZ0GmwOenlIwZqBK9PFxe34LkcjLiaq5QnRR/v/vzpv0F2AZXsWghv7KDE 9UDF7ukoqTqiIdwfnF+PuyU297x8bAMyfZjq0Ll3xStaY3q280jOdRysWFmNfZN3 SCDCaSwKK4EzO2O2lBUIWpr2HPrq0rDYPC7S3Lk2r3rNLztap/zZi+LPpKqnoR8a dzcterA7ftUc5A==
X-ME-Sender: <xms:Fk2AXOHzTLIPGPR-um7sHitVqGH87x0AnyOAafdmWa6ykMl5DNijHA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrfeejucetufdoteggodetrfdotffvucfrrh hofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgenuceurghi lhhouhhtmecufedttdenucenucfjughrpefofgfkjghffffhvffutgfgsehtqhertderre ejnecuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhhofigvnhht rhhophihrdhnvghtqeenucffohhmrghinhephhhtthhpvddrihhnnecurfgrrhgrmhepmh grihhlfhhrohhmpehmtheslhhofigvnhhtrhhophihrdhnvghtnecuvehluhhsthgvrhfu ihiivgeptd
X-ME-Proxy: <xmx:Fk2AXPx0Xh7YSZE_McPFnavlJwT3qs-8TWB_H9fTT4-nxDH3Urc38g> <xmx:Fk2AXJnNBNiQxYAS8l46P2cHGjn4aEQFY08eZW6KsCOWW2HA-sazxA> <xmx:Fk2AXIEneq4zqL-JAcY9exDfE_T0uYU3iGK7m_OAq324Xytb9BJmnQ> <xmx:F02AXBzld-8kvLgWYuPBM58MV-PKszcp0lFgB4vQ8FvmizpFFhfnwA>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id C98FD7C3AB; Wed, 6 Mar 2019 17:43:34 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.5-925-g644bf8c-fmstable-20190228v5
X-Me-Personality: 92534000
Message-Id: <207a34cc-8b35-4944-9eb3-1661930686ce@www.fastmail.com>
In-Reply-To: <CANatvzxghmoCbrVEYw6BkLt99-i8p+AfNnaqnbeR6m8TkuZBeA@mail.gmail.com>
References: <CAM4esxRy-F5xjdQxc1sNt4atr840DtD9Z=L8nBUE-jvDZ9154w@mail.gmail.com> <CANatvzxghmoCbrVEYw6BkLt99-i8p+AfNnaqnbeR6m8TkuZBeA@mail.gmail.com>
Date: Wed, 06 Mar 2019 17:43:34 -0500
From: Martin Thomson <mt@lowentropy.net>
To: quic@ietf.org
Subject: Re: PRIORITY stream error?
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/qt1XdcsONtHDlyxtrzrvooghtC0>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Mar 2019 22:43:38 -0000

This view (that the error is localized) is one that we took in HTTP/2.  In retrospect, I don't think that it has been used as much as you would think.  It is far easier to treat violations of spec brutally.  Indeed, this tends to make the problem more visible, which is a good thing.

On Thu, Mar 7, 2019, at 09:37, Kazuho Oku wrote:
> 2019年3月7日(木) 5:59 Martin Duke <martin.h.duke@gmail.com>:
> >
> > the very end of Section 4.2.3 of quic-http says:
> >
> >    PRIORITY frames received by a client MUST be treated as a stream
> >    error of type HTTP_UNEXPECTED_FRAME.
> >
> >
> > Elsewhere, this kind of thing is a connection error.
> 
> I am not sure if I agree with the observation. IIUC, the general
> approach is to use stream errors when the error does not affect the
> entire connection.
> 
> It is reasonable for a client to respond with a stream error when it
> observes a PRIORITY frame on a *request* stream.
> 
> That said, I agree that it should be a connection error when the
> client receives a PRIORITY frame on a control frame. That's because we
> cannot have a stream-level error for a control stream, because the
> stream can never be closed. I think that's what is missing in the
> text.
> 
> FWIW, we do have this "if the error is X then it's a stream-level
> error, or if the error is Y then it's a connection-level error" type
> of handling. See section 3.2.2 for an example.
> 
> > Making this a  stream error seems problematic; if otherwise valid, if this goes out on the control stream a stream error may bring everything down anyway?
> >
> > Should this be a connection error, or am I missing something?
> 
> 
> 
> -- 
> Kazuho Oku
> 
>