Re: h2 proxy and connection flow control
Ilari Liusvaara <ilari.liusvaara@elisanet.fi> Fri, 22 August 2014 14:54 UTC
Return-Path: <ietf-http-wg-request@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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 186511A030B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 22 Aug 2014 07:54:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.57
X-Spam-Level:
X-Spam-Status: No, score=-7.57 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.668, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 pqYETiH2VReb for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 22 Aug 2014 07:54:04 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8FED01A02F9 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 22 Aug 2014 07:54:03 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XKqAn-0001MG-J0 for ietf-http-wg-dist@listhub.w3.org; Fri, 22 Aug 2014 14:50:37 +0000
Resent-Date: Fri, 22 Aug 2014 14:50:37 +0000
Resent-Message-Id: <E1XKqAn-0001MG-J0@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <ilari.liusvaara@elisanet.fi>) id 1XKqAJ-0001Ik-0T for ietf-http-wg@listhub.w3.org; Fri, 22 Aug 2014 14:50:07 +0000
Received: from emh03.mail.saunalahti.fi ([62.142.5.109]) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <ilari.liusvaara@elisanet.fi>) id 1XKqAH-00082y-KD for ietf-http-wg@w3.org; Fri, 22 Aug 2014 14:50:06 +0000
Received: from LK-Perkele-VII (a88-112-44-140.elisa-laajakaista.fi [88.112.44.140]) by emh03.mail.saunalahti.fi (Postfix) with ESMTP id 047CB188775; Fri, 22 Aug 2014 17:49:40 +0300 (EEST)
Date: Fri, 22 Aug 2014 17:49:40 +0300
From: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
To: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Cc: Amos Jeffries <squid3@treenet.co.nz>, ietf-http-wg@w3.org
Message-ID: <20140822144940.GA2410@LK-Perkele-VII>
References: <CAPyZ6=+9sEFaaEBHSvhbzck6mLthatDVamMckYfnUXVMhVbiVg@mail.gmail.com> <CAOdDvNqX0H7hhxtx3ODniuYQU5wt9Qi91BDjOcENssi_m4PbQA@mail.gmail.com> <CAPyZ6=J1b6VYaBJ==H7FsO9ofe9BTv53+DoDTCeRtW8TPmx=Bw@mail.gmail.com> <CAOdDvNr3g5Ch80ypTThNvZDPftPG5Qive6WmHrvHgsw4NEXOTA@mail.gmail.com> <CAPyZ6=+0Ot1XRNw38rBX1hH04hJ1i6pVDpL+CsLUifozB1tDQw@mail.gmail.com> <53F614C2.3020509@treenet.co.nz> <CAPyZ6=JRarLFJqHnSt9uNURu62x_9Z8W4LhfZ8zYpg0Ps30wTw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <CAPyZ6=JRarLFJqHnSt9uNURu62x_9Z8W4LhfZ8zYpg0Ps30wTw@mail.gmail.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Sender: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Received-SPF: pass client-ip=62.142.5.109; envelope-from=ilari.liusvaara@elisanet.fi; helo=emh03.mail.saunalahti.fi
X-W3C-Hub-Spam-Status: No, score=-3.2
X-W3C-Hub-Spam-Report: AWL=-3.211, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1XKqAH-00082y-KD 3cb4a8e74c293bfda08eb9622944795b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: h2 proxy and connection flow control
Archived-At: <http://www.w3.org/mid/20140822144940.GA2410@LK-Perkele-VII>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/26704
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>
On Fri, Aug 22, 2014 at 01:42:44PM +0900, Tatsuhiro Tsujikawa wrote: > 2014/08/22 0:53 "Amos Jeffries" <squid3@treenet.co.nz>: > > > > Proxies have to operate under the assumption that a number of other > > clients and/or streams will be arriving very soon and need to use > > resources. So no resource can be allocated beyond what can be passed on > > quickly. > > This is great hint. The failure I made is always update stream and > connection window at the same time. It should be updated independently. So > when Frontend Proxy sends data to Browser, it only sends connection level > WINDOW_UPDATE to Backend. Stream level WINDOW_UPDATE is deferred until > Browser sends strean level WINDOW_UPDATE for data which is not acked. > Obviously this requires that Frontend Proxy's stream window is not larger > than Browser's. What if client connection gets into state where connection window is zero, but stream windows are nonzero? If the stream windows on proxy are nonzero and the proxy connection window is nonzero, those streams are candidates for sending for backend. Except that the proxy can't forward that data (due to the zero connnection window to the client). And if such buffered data is substracted from proxy connection window, the window can pretty quickly shrink to zero, stalling all streams. Now, it isn't only the framing-layer connection window. There is TCP connection window as well. So even if framing connection window is nonzero, it may not be possible to send data. 100% buffering for all streams would obviously get around this, but that could use lots of memory. -Ilari
- h2 proxy and connection flow control Tatsuhiro Tsujikawa
- Re: h2 proxy and connection flow control Patrick McManus
- Re: h2 proxy and connection flow control Tatsuhiro Tsujikawa
- Re: h2 proxy and connection flow control Patrick McManus
- Re: h2 proxy and connection flow control Tatsuhiro Tsujikawa
- Re: h2 proxy and connection flow control Amos Jeffries
- Re: h2 proxy and connection flow control Martin Thomson
- Re: h2 proxy and connection flow control Tatsuhiro Tsujikawa
- Re: h2 proxy and connection flow control Ilari Liusvaara
- Re: h2 proxy and connection flow control Tatsuhiro Tsujikawa
- Re: h2 proxy and connection flow control Martin Thomson