Re: [Editorial Errata Reported] RFC7540 (4871)
laike9m <laike9m@gmail.com> Wed, 30 November 2016 16:01 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 495321295CB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 30 Nov 2016 08:01:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.997
X-Spam-Level:
X-Spam-Status: No, score=-7.997 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.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 rtXXlUAsTXPE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 30 Nov 2016 08:01:24 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CDCEA129566 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 30 Nov 2016 08:01:23 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1cC7G6-00053I-Rx for ietf-http-wg-dist@listhub.w3.org; Wed, 30 Nov 2016 15:57:22 +0000
Resent-Date: Wed, 30 Nov 2016 15:57:22 +0000
Resent-Message-Id: <E1cC7G6-00053I-Rx@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <laike9m@gmail.com>) id 1cC7Fz-00051r-PX for ietf-http-wg@listhub.w3.org; Wed, 30 Nov 2016 15:57:15 +0000
Received: from mail-ua0-f193.google.com ([209.85.217.193]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <laike9m@gmail.com>) id 1cC7Fs-0001lh-4I for ietf-http-wg@w3.org; Wed, 30 Nov 2016 15:57:10 +0000
Received: by mail-ua0-f193.google.com with SMTP id 20so17974881uak.0 for <ietf-http-wg@w3.org>; Wed, 30 Nov 2016 07:56:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=3QJsXwy+iILl9h4qcEZmUCfvbQhAtyMt0xUY2EBVg/w=; b=qBI7nbvrYwnYc32zmzVpR2foSALjuXkRmtNYiGTPT5dYqwDSvU0bn4qQl89zLWzFZm LxoJBh4tD4mTrBehrS3Rf+J+iP9Cszy67aJbAevgKYy8VOxMFA0XfRgn4ETY4UcJRsND WPno/uk6LmnPEfAwoWxJMlCWloj3BsHaOA+MjUhE/TDiNapfOGUdcF7qwP5kdt9eWyuY 553Ptr2BOdr39KmBZMyLJoEdi2GQA6hQzn8LJmI5J/BqdOIaKsaudKv+IA9cTvDhPSgz BWNix0K6LLsRxBhQQkhfpMg+IkP7LQaHDeGv/NCcdvwnY1uh4nKfTK7gPGasxFuUXgHq TFew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=3QJsXwy+iILl9h4qcEZmUCfvbQhAtyMt0xUY2EBVg/w=; b=MwBVgueLh8bwFCiC+vYN7wbKXRXVWTCC/82a4OVcypzvCxF6kr0Lqy5/yATe50PQS8 OXdBpJS5vL6ZjQbVa6yzTkvKoavmbljeFZQui/rjF3MMV54Wldm0shBW9vAbyypoaS7S MkIRNdxZra01URzSoKwI+dajv8wu0IvX2mDSCUcQOm0gLred7DKoUNfTNjJ/E1OYhtqj XS1263ZER6bong99KEy/dyPvClv9qZPYUQQBrO66F+FsPPVWIZaysDufm+XufDYxkJCl id29/rYLaWO3ebmgxB6ak+T2R4iDFuwzllcFpNeW2YmCjYSAglgxtidDgVEkf00E7oGf dnVg==
X-Gm-Message-State: AKaTC00x94Mbu4qZFg2OVkcM60Ve6lPUOkzA+khBpzv4HFKZ4xTxdWEWViNH/jXJ/Drbsn8SUEqZO6hf6Ei8FA==
X-Received: by 10.176.16.30 with SMTP id f30mr20261433uab.58.1480521401333; Wed, 30 Nov 2016 07:56:41 -0800 (PST)
MIME-Version: 1.0
Received: by 10.103.81.89 with HTTP; Wed, 30 Nov 2016 07:56:40 -0800 (PST)
In-Reply-To: <F3F44070-A587-4B89-9DBB-ADDA6469CE4D@greenbytes.de>
References: <20161130043354.C786DB81319@rfc-editor.org> <1102C272-E8D6-40D3-9D39-7D4801ABD286@lukasa.co.uk> <CABkgnnXYTi0uv=Dm7zPrA=oPam+Zyka-jujFT2bU8GvqvT5JPg@mail.gmail.com> <03C57CE4-E61A-4BF6-A976-2191EB4B127C@lukasa.co.uk> <CANatvzzQZ_isxmd3Ne41QxE2s-sYsrksME+T0RtchM-K1b0DwA@mail.gmail.com> <24141783-A04A-42AD-9730-EB5C91A36516@lukasa.co.uk> <CANatvzygQViXZy0bxLzm3GK3KmVgT2qgSHio8V+3USDOYWxEGQ@mail.gmail.com> <CAPyZ6=KWvn8fMiOab5R_yMedovwo=c2QnGkewuAjKYBxO-5jrQ@mail.gmail.com> <F3F44070-A587-4B89-9DBB-ADDA6469CE4D@greenbytes.de>
From: laike9m <laike9m@gmail.com>
Date: Wed, 30 Nov 2016 23:56:40 +0800
Message-ID: <CAJutW=d=48771N0WLvepV+qO0+Sk=3o3Goikng83t3iWv7vwoQ@mail.gmail.com>
To: Stefan Eissing <stefan.eissing@greenbytes.de>
Cc: "tatsuhiro.t@gmail.com" <tatsuhiro.t@gmail.com>, Kazuho Oku <kazuhooku@gmail.com>, Cory Benfield <cory@lukasa.co.uk>, Martin Thomson <martin.thomson@gmail.com>, RFC Errata System <rfc-editor@rfc-editor.org>, Mike Belshe <mike@belshe.com>, Roberto Peon <fenix@google.com>, Ben Campbell <ben@nostrum.com>, Alissa Cooper <alissa@cooperw.in>, Alexey Melnikov <aamelnikov@fastmail.fm>, Patrick McManus <pmcmanus@mozilla.com>, Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="f403045e21e0357b73054286c03f"
Received-SPF: pass client-ip=209.85.217.193; envelope-from=laike9m@gmail.com; helo=mail-ua0-f193.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1cC7Fs-0001lh-4I a2bf4bd1e59cd45762a3541268753df9
X-Original-To: ietf-http-wg@w3.org
Subject: Re: [Editorial Errata Reported] RFC7540 (4871)
Archived-At: <http://www.w3.org/mid/CAJutW=d=48771N0WLvepV+qO0+Sk=3o3Goikng83t3iWv7vwoQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33050
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Since it’s me that brought this question <https://github.com/http2/http2-spec/issues/758> to Martin, I also got some thoughts on it(from a reader's perspective): Basically the question is not about the example being wrong, it’s about the above description being contradictory with the example. …Resources are shared between streams with the same parent stream, which means that if a stream *in that set* closes or becomes blocked, any spare capacity allocated to a stream is distributed to the immediate *neighbors* of the stream. *However, if the common dependency is removed from the tree, those streams share resources with streams at the next highest level.* So, let’s assume the example is correct, then there are three problems with this paragraph. 1. *“in that set”*: “set” here apparently means “streams with the same parent stream”, so emphasizing “in that set” makes readers feel the resource reallocation process is between those streams. Better remove it. 2. *“neighbors”*: it’s true that in graph theory “neighbors” means nodes that directly connect to a specific node(like C, D to A), but since we’re talking about a tree, if we could use more precise words like “dependent streams” or “child streams”, then there would be no controversy. I searched the whole RFC, “neighbor” is only used once, which does cause some confusion. 3. *“However, if the common dependency is removed from the tree, those streams share resources with streams at the next highest level.”*: this whole sentence, in such case, is not even necessary. So the modified version would be something like this: *Resources are shared between streams with the same parent stream, which means that if a stream closes or becomes blocked, any spare capacity allocated to the stream is distributed to the dependent streams of it.* But yeah, like Cory said, Martin definitely proposed the erratum for a reason, and it's still possible the erratum is what the RFC writers really meant. On Wed, Nov 30, 2016 at 10:54 PM, Stefan Eissing < stefan.eissing@greenbytes.de> wrote: > A stream is blocked only by flow-control, as I read it. The errata would > suggest that the flow control of the parent would effectively rule those of > its descendants? That does not make much sense to me. > > This could easily become very messy. If flow control of dependant nodes > become entangled with their ancestors, then we basically have nested flow > control windows? Please. no. > > -Stefan > > > Am 30.11.2016 um 14:49 schrieb Tatsuhiro Tsujikawa < > tatsuhiro.t@gmail.com>: > > > > > > > > On Wed, Nov 30, 2016 at 10:29 PM, Kazuho Oku <kazuhooku@gmail.com> > wrote: > > 2016-11-30 22:05 GMT+09:00 Cory Benfield <cory@lukasa.co.uk>: > > > > > > > > > On 30 Nov 2016, at 13:04, Kazuho Oku <kazuhooku@gmail.com> wrote: > > > > > > My understanding is that you do not need to distinguish between > completed, idle and blocked states. > > > > > > For a stream under either of the three states, the weight associated > to the stream is distributed to the dependents. > > > > > > That is what nghttp2 does and H2O does (except for the fact that it > does not remember closed streams), and I this behavior is what is suggested > by the spec. > > > > > > > > > My understanding of what Martin is suggesting is that that isn’t true: > blocked streams do not distribute their weight to their dependants. > > > > > > Thank you for pointing that out. > > > > My understanding is that there is no special casing for blocked > > streams. Section 5.3.1 handles all the states we are discussing > > equally, quote: > > > > Inside the dependency tree, a dependent stream SHOULD only be > > allocated resources if either all of the streams that it depends on > > (the chain of parent streams up to 0x0) are closed or it is not > > possible to make progress on them. > > > > I also do not see why it would be beneficial to treat them differently. > > > > > > I agree with Kazuho. I think RFC 7540 is written based on the idea > that dependent stream can receive resource if the streams between it and > root are all either in closed, idle or blocked. > > > > Actually, from nghttp2 commit log, I made a commit which implemented the > proposed text. But we later reverted it, since there is no text in the > draft at that time to mandate that behaviour. > > > > Best regards, > > Tatsuhiro Tsujikawa > > > > > > > > > > > > However, that’s also what the Python Priority implementation does. > > > > > > Cory > > > > > > > > > > > -- > > Kazuho Oku > > > > > > >
- [Editorial Errata Reported] RFC7540 (4871) RFC Errata System
- Re: [Editorial Errata Reported] RFC7540 (4871) Cory Benfield
- Re: [Editorial Errata Reported] RFC7540 (4871) Martin Thomson
- Re: [Editorial Errata Reported] RFC7540 (4871) Benedikt Christoph Wolters
- Re: [Editorial Errata Reported] RFC7540 (4871) Amos Jeffries
- Re: [Editorial Errata Reported] RFC7540 (4871) Cory Benfield
- Re: [Editorial Errata Reported] RFC7540 (4871) Cory Benfield
- Re: [Editorial Errata Reported] RFC7540 (4871) Cory Benfield
- Re: [Editorial Errata Reported] RFC7540 (4871) Kazuho Oku
- Re: [Editorial Errata Reported] RFC7540 (4871) Cory Benfield
- Re: [Editorial Errata Reported] RFC7540 (4871) Kazuho Oku
- Re: [Editorial Errata Reported] RFC7540 (4871) Benedikt Christoph Wolters
- Re: [Editorial Errata Reported] RFC7540 (4871) Cory Benfield
- Re: [Editorial Errata Reported] RFC7540 (4871) Tatsuhiro Tsujikawa
- Re: [Editorial Errata Reported] RFC7540 (4871) Stefan Eissing
- Re: [Editorial Errata Reported] RFC7540 (4871) Ryan Hamilton
- Re: [Editorial Errata Reported] RFC7540 (4871) laike9m
- RE: [Editorial Errata Reported] RFC7540 (4871) Mike Bishop
- Re: [Editorial Errata Reported] RFC7540 (4871) Martin Thomson
- Re: [Editorial Errata Reported] RFC7540 (4871) Kazuho Oku
- Re: [Editorial Errata Reported] RFC7540 (4871) Martin Thomson
- Re: [Editorial Errata Reported] RFC7540 (4871) Patrick McManus
- Re: [Editorial Errata Reported] RFC7540 (4871) Mark Nottingham
- Re: [Editorial Errata Reported] RFC7540 (4871) Martin Thomson
- Re: [Editorial Errata Reported] RFC7540 (4871) Mark Nottingham