Re: Design: Rename FRAME_TOO_LARGE to FRAME_SIZE_ERROR

William Chan (陈智昌) <willchan@chromium.org> Wed, 19 June 2013 18:30 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 C0CB421F9E6E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 19 Jun 2013 11:30:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.676
X-Spam-Level:
X-Spam-Status: No, score=-9.676 tagged_above=-999 required=5 tests=[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 mLucCXSIddmI for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 19 Jun 2013 11:30:27 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 516B121F9E6D for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 19 Jun 2013 11:30:27 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UpN8c-0008D1-27 for ietf-http-wg-dist@listhub.w3.org; Wed, 19 Jun 2013 18:29:46 +0000
Resent-Date: Wed, 19 Jun 2013 18:29:46 +0000
Resent-Message-Id: <E1UpN8c-0008D1-27@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <willchan@google.com>) id 1UpN8O-00089D-JS for ietf-http-wg@listhub.w3.org; Wed, 19 Jun 2013 18:29:32 +0000
Received: from mail-pd0-f172.google.com ([209.85.192.172]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <willchan@google.com>) id 1UpN8N-0000PS-E3 for ietf-http-wg@w3.org; Wed, 19 Jun 2013 18:29:32 +0000
Received: by mail-pd0-f172.google.com with SMTP id z10so5362691pdj.17 for <ietf-http-wg@w3.org>; Wed, 19 Jun 2013 11:29:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=IMRFNQhUHlngQ/+LzEsZPkXbowUY1KNADZQ6qRTpGKM=; b=XTxEZ35dmmQzxnTKX7JWFi0B6UiYeniMHdJcrP2nIoXuGUvtdVoVHsWF3FmPENw7pz wUqyYjsmmwU6VDY2tvND+ZXI/3L+qwzL4wSut/yqv/3UolgV99yvKfC8Bd/QEuzjCxJU 8UxALvyA9EaZoiJWp9YthjUCu2f710+TMnjR3lAaEWS6UZ0C5KU146TCctNW3Y3qMCRx iwqCtwshL4RBZ0AJ5b3AQe2HNzmnJoCjeX54RiKXHtdKtR/LPvt8xhnJyTbzXP9ZOdbO R07Wdo42NHakDsD9ApWiYP3/Caa4a9Z7wtk87cz4amL9yivgCAXPuRt8I0vOUk0aCZMV l4xw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=IMRFNQhUHlngQ/+LzEsZPkXbowUY1KNADZQ6qRTpGKM=; b=XgDsAKAIiitCI9YZF7dEKO9RDozN/HwuAKSyi+rg1LhfuI6ES8ZfZIsSTF5gXtQCrZ M+GwSaB+63T7cIl4o3mNpUUAZJNM0WDecedAyY+thAxanH9A20+LiSQbRUwp9iH+FRlN zzo2r/2fMsU5GQYud+De6AR9lPGM22+DFCsMI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :x-gm-message-state; bh=IMRFNQhUHlngQ/+LzEsZPkXbowUY1KNADZQ6qRTpGKM=; b=V4ut8sV3P0pvWtqPaJZZe30MTwwCxA+jmPXPj+QyRm0Tk179Heqa1rQItuTluZHYWD pQtB9HKpfKurojCikAuePoJxhElS38Ip1ORk+UZzgiKL09OOiYwzSFFmz8hCrSpLyFSf ScT7+04xpljCRwuZXMkco3RWkDU9nO0sodi7DRntCt5lfsK3Mk9C3EQCuK0v6M1rKOtA dcQOwzkUN6MzxykUzd9IYzZYbL26HUG8B+0nVHVSQtPuW8nZna0qKimPLxJpY438SBx6 MWwI5E6I8YUa0QwAwHIZOiYm1O5FUeITbNkL99ek3svwYS55vkTjO6daIhjJ5I5G/llL SS7Q==
MIME-Version: 1.0
X-Received: by 10.68.197.98 with SMTP id it2mr4019384pbc.200.1371666544908; Wed, 19 Jun 2013 11:29:04 -0700 (PDT)
Sender: willchan@google.com
Received: by 10.68.21.135 with HTTP; Wed, 19 Jun 2013 11:29:04 -0700 (PDT)
In-Reply-To: <CABkgnnUcFQEH5xL50qROdxmSvNotOh2rSoxoHp=3ASrKUm5O4A@mail.gmail.com>
References: <CABP7Rbe9GEkRvoU6yYpiNjrShc32PeoB64fNaTrP6M4Uco-xRw@mail.gmail.com> <CAOdDvNr_a3y7Aq8=Q77JYx=iJGwaK==wQWj5JVi9mMdqG5KJug@mail.gmail.com> <alpine.LRH.2.01.1306190738140.31315@egate.xpasc.com> <CA+pLO_jVAdz3XNsfUSW4L0a_dB4YSnaNA+G8QA9h0rS=b74s5w@mail.gmail.com> <CAP+FsNf7mZC3KMD5qYAPA8rAE+Q6fYM_xAEUtxEZQ0jSLGtAMw@mail.gmail.com> <CA+pLO_j-4X+NCO7LhmPR4iuUNMRyTuq-EezEs_iPmeuJ7JakBQ@mail.gmail.com> <CABkgnnXpAHVTHRALduELri5HqF77Jp6P7TGF-Uo2rhg+ysftJA@mail.gmail.com> <CAA4WUYgKJwhQGsyUyJzcaqy4C-iETsvqb9yPNax5JSixCNCu=A@mail.gmail.com> <CABkgnnUcFQEH5xL50qROdxmSvNotOh2rSoxoHp=3ASrKUm5O4A@mail.gmail.com>
Date: Wed, 19 Jun 2013 11:29:04 -0700
X-Google-Sender-Auth: 2ARHDwhMzARuPXvNWJ9UZcjoC9c
Message-ID: <CAA4WUYhqkQniRnZKxe7ws6mBn=-ES3Hxh=1EPCi3D7HJop3A6g@mail.gmail.com>
From: "William Chan (陈智昌)" <willchan@chromium.org>
To: Martin Thomson <martin.thomson@gmail.com>
Cc: Jeff Pinner <jpinner@twitter.com>, Roberto Peon <grmocg@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="e89a8ff1c98428f97b04df8601c8"
X-Gm-Message-State: ALoCoQl4s9k4kqcNCwDjOO5NrPyJFoZ602I1JXm3ZHscTCpIPVmgKIplfB7CaLRhzTuVUNB5DYm/n/xaxqNHdr/qjo3YlQH9Mr9Fkc1FR0uAXcWaToqSKKwT+8ykA2XYBjTrmADeH2PL2MKlH844XEp/kFOFT5soSKBmfBUFelHe9UFQCYULNoFlu/ellxcQ111e3afKqd1k
Received-SPF: pass client-ip=209.85.192.172; envelope-from=willchan@google.com; helo=mail-pd0-f172.google.com
X-W3C-Hub-Spam-Status: No, score=-3.8
X-W3C-Hub-Spam-Report: AWL=-2.436, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.276, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UpN8N-0000PS-E3 cb842fec05035c6be3c788b9367dc3e0
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Design: Rename FRAME_TOO_LARGE to FRAME_SIZE_ERROR
Archived-At: <http://www.w3.org/mid/CAA4WUYhqkQniRnZKxe7ws6mBn=-ES3Hxh=1EPCi3D7HJop3A6g@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18298
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 Wed, Jun 19, 2013 at 10:58 AM, Martin Thomson
<martin.thomson@gmail.com>wrote:

> On 19 June 2013 10:28, William Chan (陈智昌) <willchan@chromium.org> wrote:
> > Actionable difference: it tells you what part of your stack to debug.
> > PROTOCOL_ERROR is terrible :( Everytime we generate a PROTOCOL_ERROR, we
> > have felt we wanted to add a debug string (that opaque byte sequence we
> > discussed earlier) so we could figure out what was wrong.
>
> I thought that was the reason you wanted to put the opaque stuff in the
> body.
>

Kinda. Btw, my earlier answer (which I now realize is slightly wrong, since
it really applied to INTERNAL_ERROR) was just to say that it does have an
actionable difference, and that generic error codes without debug strings
suck. I don't really mind as long as we have the opaque bytes. Here would
be my high level points on this topic.

* Error codes are insufficient. There are an infinite number of possible
errors that could happen at a different layer that it would be nice to have
opaque bytes for (e.g. reverse proxy INTERNAL_ERROR, where errors come from
the proxy's backend).
* Error codes are nice if you're going to have automated handling of
certain error codes. I don't believe that applies here.
* Error codes are also nice if you need to standardize a way for one
endpoint to inform the other endpoint of its error. INTERNAL_ERROR with
debug strings works fine when the receiver of the error code and opaque
bytes can just send the opaque bytes out of band back to the original
sender. But a PROTOCOL_ERROR is a way for the error code sender to tell the
receiver that it was Doing It Wrong. So an opaque explanation here doesn't
do much. A finer grained error code might be helpful.


>
> The reason I'm pushing back is that it is possible to spend error code
> bits on any amount of subdivision of the PROTOCOL_ERROR space.  Do you
> want one for the case where someone didn't echo the bytes of a PING?
> Or when they decide to send something else rather than continuing a
> HEADERS block?  Or any of the many current and future
> your-implementation-is-broken cases?  Ultimately, this just leads to a
> blowout in error codes, to no good end.
>

Reasonable position and I don't really care. Just wanted to explain the
"actionable difference".