Re: [quicwg/base-drafts] Forwarding upstream error mid-body to downstream (#3300)

Kazuho Oku <> Tue, 17 December 2019 02:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4CE05120945 for <>; Mon, 16 Dec 2019 18:23:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Status: No, score=-8 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_HELO_NONE=0.001, SPF_PASS=-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 ImPNPxR1aYyg for <>; Mon, 16 Dec 2019 18:23:45 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5E4E612008F for <>; Mon, 16 Dec 2019 18:23:45 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 66F7BA0071 for <>; Mon, 16 Dec 2019 18:23:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1576549424; bh=Tivw3xDESZ9vSW0nwEYekjVmUTTXj58VLhnBbMe3xrQ=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=gs3FHhHND8pLN4DJN3Sk/FdJ8jOf5ItxG6K1vnz8pJYBW93T9vvres0jTai8W4fa8 n2AhSESG1wkcokuij1vQ/wXnI+4Pot+Oru5nzVEHKL4vgf5FqffM5IzSh/PPIV9OJr uMAhChstmN5ICIt10popWu8VO5ZN3aKeFSVLjR6A=
Date: Mon, 16 Dec 2019 18:23:44 -0800
From: Kazuho Oku <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3300/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Forwarding upstream error mid-body to downstream (#3300)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5df83c3057d11_7cb83ffdbb8cd96417643b"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 17 Dec 2019 02:23:47 -0000

> I don't think that this is a good response to this condition. It creates a situation where an intermediary purposefully violates the protocol. If the connection is broken, then let it be broken. The intermediary can forward precisely what it received, ensure that that data was received, then reset the stream if it truly cares about fidelity.

The problem here is that it is complex to ensure that the data was received before transmitting a reset. That's something that the QUIC transport does _not_ have a concept, and I'm not sure if we can except QUIC stacks to expose a signal indicating if data has been acked.

We might argue that in-order delivery of stream resets was a feature of HTTP/2, and that we need it in HTTP/3. As you state, I think we'd better define a way to patch up these situations, otherwise people might suffer from worse user experience when using HTTP/3.

Am I correct in assuming that your distaste is against the solution proposed in #3303 rather than against this issue itself? If so, would you be more open to using a HTTP/3 frame for indicating abrupt termination?

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: