Re: Design Issue: Merge RST_STREAM and GOAWAY into a single ERROR frame type

William Chan (陈智昌) <willchan@chromium.org> Fri, 03 May 2013 21:13 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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E917E21F85EE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 3 May 2013 14:13:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.81
X-Spam-Level:
X-Spam-Status: No, score=-8.81 tagged_above=-999 required=5 tests=[AWL=0.866, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HY0It4G9Zcjx for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 3 May 2013 14:13:21 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 68EAE21F85DB for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 3 May 2013 14:13:21 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UYNHu-0001Ew-BO for ietf-http-wg-dist@listhub.w3.org; Fri, 03 May 2013 21:13:06 +0000
Resent-Date: Fri, 03 May 2013 21:13:06 +0000
Resent-Message-Id: <E1UYNHu-0001Ew-BO@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <willchan@google.com>) id 1UYNHk-0001E8-0D for ietf-http-wg@listhub.w3.org; Fri, 03 May 2013 21:12:56 +0000
Received: from mail-qc0-f175.google.com ([209.85.216.175]) by lisa.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <willchan@google.com>) id 1UYNHj-0000Yp-7w for ietf-http-wg@w3.org; Fri, 03 May 2013 21:12:55 +0000
Received: by mail-qc0-f175.google.com with SMTP id u28so424445qcs.20 for <ietf-http-wg@w3.org>; Fri, 03 May 2013 14:12:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=1+2aKWZwLepitutitDI1bP42VSHlc7X1+i905z7W11s=; b=IekiP6jWZFqtwx2S9xvm9p8aY/33XBjwSD/jMsYkP+xySySK8KRWsW2SYUk/M/wpU3 C3cCfVoA0DfvQ4Svdi/dauQ/E252GZgnDPUmHsD6qiAmJ/CI33oHvfsCYLJH3txuGC/0 6L13e7R/whxab1iGm9JS3PlmNnypbvcS6c3JP1i6kUTdTanu62cUTZB/weOb/JZN7x6i RUymbvwWjX8ginNxCXYETO+YkYOJX6XsoxnDlh50FGVv7EyWqPOCaDjv7XCr4uQ8joy7 ZoUvj/PpZld/pEwz3lkqkt5s8MOuu0eLQYAskGArE8ErqdHUywRX/DteQJ1j3cOr89DG 0m1Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=1+2aKWZwLepitutitDI1bP42VSHlc7X1+i905z7W11s=; b=D3b9/hJYgT0Ak5JlZGuypp2oQ1jYk4wMd62XDXejAo0Xdy9s9SGXFj78UA1pPhIynE Y2Ytv+F1w52UsQhnJSxt4re3FOmi50fFDX4ZKEkqTqKcxQ/R7RUMc4KDE2t4F+qUxKLj 6IbEAci4Ed0iOjEsvZ+wEB5uq09A8p8WXb2GE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :x-gm-message-state; bh=1+2aKWZwLepitutitDI1bP42VSHlc7X1+i905z7W11s=; b=a2fK07Ev2Z5jtso/Qfq1jL6Nh0JvoQJBAVzdsATIXtRHfsUFVzQWsrpMt7h2iv5cuk j4P7U92LLiiIxuTnprE7Yq4PbUUsUqciiFXhoR8Y6U3EO315fkCQE7ppSxA1vjh729ve mgV1PG0KqqNaz3PstGoQZyA3QWPRV39Ow+9ZCChBl2dvckmQ3v2lJni5avOelXJ/ki4+ DoLhu4ybCpANczK0RacYkP+syclBprnA+daNv6lMFh0yWPWngasbtk9xOzPc/M/U1e2t GpWVcnqe498IhXDImnK9xYkIWAzZRP8OI7qFqXFvKqE24NtCJfjeVswGzPLdzJ+bQ5m3 wmWg==
MIME-Version: 1.0
X-Received: by 10.224.222.14 with SMTP id ie14mr10313416qab.34.1367615549222; Fri, 03 May 2013 14:12:29 -0700 (PDT)
Sender: willchan@google.com
Received: by 10.229.180.4 with HTTP; Fri, 3 May 2013 14:12:29 -0700 (PDT)
In-Reply-To: <CABP7RbcTbFxNj-qax1An0Qp7okWqvbt5MTXyHZTMn_fBKgx9Fw@mail.gmail.com>
References: <CABP7RbeJm-AKxU3qGxt2tCGrb0xCQL8njNyEToA7Ln9gS8hnTQ@mail.gmail.com> <CA+pLO_gWErCMv+j3pcmy+cTkt-hh2v6a7neeyDtg7HRN3x=Sgw@mail.gmail.com> <CABP7RbfJEwkMVum0HXei_mqvJ=pHd2G=jx_wz=sZzboi4ZMwzQ@mail.gmail.com> <CAA4WUYhfup_PM8s7P0PO_EcB8R-O6L32wX-zk73thwBHYHHtgA@mail.gmail.com> <CABP7RbcTbFxNj-qax1An0Qp7okWqvbt5MTXyHZTMn_fBKgx9Fw@mail.gmail.com>
Date: Fri, 03 May 2013 18:12:29 -0300
X-Google-Sender-Auth: KnhiDpjjTY6HPOWzvjpzcMaHURM
Message-ID: <CAA4WUYgYQbD1PmNMqPiQqR++0M7_vf4cWECNxk_i+s9S_kpQKw@mail.gmail.com>
From: "William Chan (陈智昌)" <willchan@chromium.org>
To: James M Snell <jasnell@gmail.com>
Cc: Jeff Pinner <jpinner@twitter.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="20cf3074b45c00a12604dbd6cf06"
X-Gm-Message-State: ALoCoQkVQAq56zKhkDcBgH1nClpxtMYQtO1BcXMmtTbArWurEN8fls5MY/ie6dX07AU2bVCNPBhuUHGgPSyh+pI9jKreFCQgy69B2+4E0PI52OjUTZ6AWBUWsSpSDcS9h5v+gW9P9umNFv0Blj2MNJJwGQdICTQrWMLKyNSOCqJNmzAl1/W98PQuT3iT3EqIB3N1OfyRKnpj
Received-SPF: pass client-ip=209.85.216.175; envelope-from=willchan@google.com; helo=mail-qc0-f175.google.com
X-W3C-Hub-Spam-Status: No, score=-4.8
X-W3C-Hub-Spam-Report: AWL=-1.410, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-2.581, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1UYNHj-0000Yp-7w c6a5e7bf43fff4833952cc40aa12e68b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Design Issue: Merge RST_STREAM and GOAWAY into a single ERROR frame type
Archived-At: <http://www.w3.org/mid/CAA4WUYgYQbD1PmNMqPiQqR++0M7_vf4cWECNxk_i+s9S_kpQKw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17816
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>

Sorry, my implication is that I don't see any objective determination of
what's simpler here, just subjective views of which many people can have an
opinion. But if there's consensus on doing this, then by all means, let's
do it. I for one disagree and find the current way simpler :)


On Fri, May 3, 2013 at 6:08 PM, James M Snell <jasnell@gmail.com> wrote:

> There is no bikeshedding going on at all. I made the motivation for
> this clear up front: it's a simplification that addresses three
> specific items. Note: there is an existing editorial note in the
> existing draft that calls out the fact that we have no non-terminal
> method of communicating non-stream related errors. If we can address
> that item while also simplifying things a bit, then fantastic.
>
> On Fri, May 3, 2013 at 2:01 PM, William Chan (陈智昌)
> <willchan@chromium.org> wrote:
> > This is a thread ripe for bikeshedding. Is there any major issue worth
> > solving?
> >
> > If we're going to paint our bike sheds, my take is keep whatever color
> the
> > bike shed already has unless it really offends a number of people.
> >
> >
> > On Fri, May 3, 2013 at 5:53 PM, James M Snell <jasnell@gmail.com> wrote:
> >>
> >> Speaking candidly, if we find ourselves requiring more than 8 boolean
> >> flags on an error frame we should all just quit and go home.
> >>
> >> On Fri, May 3, 2013 at 1:34 PM, Jeff Pinner <jpinner@twitter.com>
> wrote:
> >> > IIRC, when this was brought up at the last F2F the rational for NOT
> >> > doing
> >> > this was that frame types were cheaper than flags (256 frame types, 8
> >> > flags).
> >> >
> >> > That being said I think we should consider combining them :)
> >> >
> >> >
> >> > On Fri, May 3, 2013 at 1:04 PM, James M Snell <jasnell@gmail.com>
> wrote:
> >> >>
> >> >> As a simplification, I'd like to suggest that we merge the RST_STREAM
> >> >> and GOAWAY frames into a single ERROR frame with the following
> >> >> definition:
> >> >>
> >> >>  0                   1                   2                   3
> >> >>  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> >> >> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >> >> |                      Error Code (32)                          |
> >> >> +---------------------------------------------------------------+
> >> >> |X|                  Last-Stream-ID (31)                        |
> >> >> +-+-------------------------------------------------------------+
> >> >>
> >> >> (note that this flips the field order from the GOAWAY frame)
> >> >>
> >> >> A frame-specific GOAWAY flag bit (0x2) would be defined for the
> frame,
> >> >> and the Last-Stream-ID field would only be included in the frame data
> >> >> if this flag was set.
> >> >>
> >> >> This does a couple of things for us:
> >> >>
> >> >> 1. It simplifies the error handling and reduces the number of core
> >> >> frame
> >> >> types.
> >> >> 2. It allows us to terminate a stream and terminate the session in a
> >> >> single frame if necessary
> >> >> 3. It gives us a way of reporting non-terminal session errors
> >> >> (currently RST_STREAM is forbidden to use stream id #0 and GOAWAY is
> >> >> always terminal).
> >> >>
> >> >
> >>
> >
>