Re: New Version Notification for draft-nottingham-httpbis-retry-01.txt

Mark Nottingham <mnot@mnot.net> Fri, 03 February 2017 06:19 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 D7BE51293DC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 2 Feb 2017 22:19:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.119
X-Spam-Level:
X-Spam-Status: No, score=-10.119 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.199, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 9fvG6nYny1PR for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 2 Feb 2017 22:19:32 -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 2BFAE1293DB for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 2 Feb 2017 22:19:31 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1cZXAG-0000Rt-1W for ietf-http-wg-dist@listhub.w3.org; Fri, 03 Feb 2017 06:16:08 +0000
Resent-Date: Fri, 03 Feb 2017 06:16:08 +0000
Resent-Message-Id: <E1cZXAG-0000Rt-1W@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 <mnot@mnot.net>) id 1cZXA9-0000Qw-Jr for ietf-http-wg@listhub.w3.org; Fri, 03 Feb 2017 06:16:01 +0000
Received: from mxout-07.mxes.net ([216.86.168.182]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <mnot@mnot.net>) id 1cZXA3-0003Z9-1U for ietf-http-wg@w3.org; Fri, 03 Feb 2017 06:15:56 +0000
Received: from [192.168.3.104] (unknown [124.189.98.244]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 42D0522E256; Fri, 3 Feb 2017 01:15:31 -0500 (EST)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAEK7mvq3T9euSgu7zvAirwwVye8De8FY9h2bhXWpebYwj=ff0w@mail.gmail.com>
Date: Fri, 3 Feb 2017 17:15:29 +1100
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <D4A26C9E-EE66-424A-8051-46D58A64706E@mnot.net>
References: <148593754312.24497.16311379877517350605.idtracker@ietfa.amsl.com> <3F68DC4A-3AC8-4309-8119-15A82C5E1EFC@mnot.net> <CAEK7mvq3T9euSgu7zvAirwwVye8De8FY9h2bhXWpebYwj=ff0w@mail.gmail.com>
To: Matt Menke <mmenke@google.com>
X-Mailer: Apple Mail (2.3259)
Received-SPF: pass client-ip=216.86.168.182; envelope-from=mnot@mnot.net; helo=mxout-07.mxes.net
X-W3C-Hub-Spam-Status: No, score=-7.7
X-W3C-Hub-Spam-Report: AWL=1.868, BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1cZXA3-0003Z9-1U 911ad0f7bbd34333f5900af12520623f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-nottingham-httpbis-retry-01.txt
Archived-At: <http://www.w3.org/mid/D4A26C9E-EE66-424A-8051-46D58A64706E@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33435
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>

Thanks for that. If you can, a pull request on the doc would be wonderful; you can capture the detail better than I.

See:
  https://github.com/mnot/I-D/blob/gh-pages/httpbis-retry/draft.md

Cheers,



> On 2 Feb 2017, at 8:30 am, Matt Menke <mmenke@google.com> wrote:
> 
> A bit more elaboration on Chrome's behavior:
> 
> I didn't see it mentioned in the draft, but the reason we retry is that any time we reuse a socket, there's a race - servers timeout sockets after some period, and we don't know what that period is.  So we could be retrying at the same time the server is closing the socket on us.
> 
> We'll retry on a "stale" socket (one that was connected and then sat in a socket pool, with or without being used first).  So if we fully preconnect to a server before there's a connection request, we consider the socket stale,if we've used a socket before, it's stale, or if we created a socket to service a request, but the request was cancelled, and then the socket connected and was returned to the socket pool, it's stale.
> 
> We only retry if we've received no response from a server, or if we get a failure while still sending the request (i.e., if we're in the middle of sending the request on error, we'll retry, even if there's data on the socket from the server, since we don't bother to check for that).
> 
> We also only retry on certain errors (reset, connection closed, connection aborted (Which is a weird error from the OS of some sort), H2 ping failure, H2 server refusing the stream, QUIC handshake error.  This probably doesn't include all the errors that we could get racily while reusing a socket (TCP ping timeout, for instance?).
> 
> 
> On Wed, Feb 1, 2017 at 3:26 AM, Mark Nottingham <mnot@mnot.net> wrote:
> FYI; fairly minor update. Would love to hear what people think about the various suggested paths forward.
> 
> Cheers,
> 
> 
> 
>> Begin forwarded message:
>> 
>> From: internet-drafts@ietf.org
>> Subject: New Version Notification for draft-nottingham-httpbis-retry-01.txt
>> Date: 1 February 2017 at 7:25:43 pm AEDT
>> To: "Mark Nottingham" <mnot@mnot.net>
>> 
>> 
>> A new version of I-D, draft-nottingham-httpbis-retry-01.txt
>> has been successfully submitted by Mark Nottingham and posted to the
>> IETF repository.
>> 
>> Name:		draft-nottingham-httpbis-retry
>> Revision:	01
>> Title:		Retrying HTTP Requests
>> Document date:	2017-02-01
>> Group:		Individual Submission
>> Pages:		18
>> URL:            https://www.ietf.org/internet-drafts/draft-nottingham-httpbis-retry-01.txt
>> Status:         https://datatracker.ietf.org/doc/draft-nottingham-httpbis-retry/
>> Htmlized:       https://tools.ietf.org/html/draft-nottingham-httpbis-retry-01
>> Diff:           https://www.ietf.org/rfcdiff?url2=draft-nottingham-httpbis-retry-01
>> 
>> Abstract:
>>   HTTP allows requests to be automatically retried under certain
>>   circumstances.  This draft explores how this is implemented,
>>   requirements for similar functionality from other parts of the stack,
>>   and potential future improvements.
>> 
>> 
>> 
>> 
>> Please note that it may take a couple of minutes from the time of submission
>> until the htmlized version and diff are available at tools.ietf.org.
>> 
>> The IETF Secretariat
>> 
> 
> --
> Mark Nottingham   https://www.mnot.net/
> 
> 

--
Mark Nottingham   https://www.mnot.net/