Re: Split error codes in two

Jana Iyengar <jri@google.com> Sat, 09 September 2017 00:34 UTC

Return-Path: <jri@google.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 99540128D0F for <quic@ietfa.amsl.com>; Fri, 8 Sep 2017 17:34:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 leSin5goFvze for <quic@ietfa.amsl.com>; Fri, 8 Sep 2017 17:34:00 -0700 (PDT)
Received: from mail-yw0-x233.google.com (mail-yw0-x233.google.com [IPv6:2607:f8b0:4002:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E25A61201F8 for <quic@ietf.org>; Fri, 8 Sep 2017 17:33:59 -0700 (PDT)
Received: by mail-yw0-x233.google.com with SMTP id v72so9327315ywa.3 for <quic@ietf.org>; Fri, 08 Sep 2017 17:33:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=603gn0pJ/gzt+ZWBxyAHRH5LbRPpCkZRbb0Uacfsdzw=; b=PovulKozvcjeTDUK9g8OHKiq3k8yVjkfqD5pjPHndX7EjP4FMaYS0bBqSQrzuTz8Xw GLzbTmVqC8DBF6PDg+HsaVzBXd5kzPWMmihXsFEd0E/MHJWcqccGjry38Vg7bCbOLdna LdyL9XcLw3GiWPUlkdsn1PYCGE8ErrVmLdyQLZ7PP/2thypIZSo2J0VPvCe3xVA3sqj5 VCI8CGsLJTtqcH/mRwsIWCfh6UGFrnDcOX/yetAKWx+O5Xpdx1vFcgBT0yDKCgOmLEEQ V8QdikFW86alPkwE9AdcWipgv9vbvBjZW6S07dL5TwSRXF/zcsS3PX6B8UsIVQshgFkE 8j+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=603gn0pJ/gzt+ZWBxyAHRH5LbRPpCkZRbb0Uacfsdzw=; b=W6TVQfjAC56X060V1lnfhVJVgY8kFQfiFDFa2NnWfc6z3KVZ51z4fwwxjpEMVpxKCP dlPVgpfAzhlxr2BIyfxISazv7sXV1FYPDz0Ucd5m+gPSbvmhBFDNEGsPQH4NuoLAd0vG +GTiDQFvet8fYqP/z5FzV2FIG7JmJVorZYw4IyR7bPQKFSLmOQf3SabssHG+zrmczTVC h0zOc3bii6BP7zkXIfxRCA70p1bPrFDAmPn3UM+XTucarz1/Kfs5fwzHHKMLUxaW+gxM GN5ngkuD0xS6StASoSrXmUZoiBIjphqcmBj9XcUi9OcqDINS0ajeYdHYxBqWPWUaBVk/ hIJw==
X-Gm-Message-State: AHPjjUjh/HwfJBvIErY5SmcsRVph1Pz5409Y4vkd8T8bUPI0myE/RZwW 63S7ThZNEGpAOj30dzDjCWYI36XM2lmB
X-Google-Smtp-Source: ADKCNb7YsInFWqZB0KB5Xmj4fADHQ8J/QuohXp3qAWDHvL/H7jL5E9PmFZ7lwoh0d/ytE40WNNoSzd7GZLKO7enysrA=
X-Received: by 10.129.118.3 with SMTP id r3mr3771825ywc.131.1504917238741; Fri, 08 Sep 2017 17:33:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.118.133 with HTTP; Fri, 8 Sep 2017 17:33:57 -0700 (PDT)
In-Reply-To: <CABkgnnWRy17vuFRGhpvLBCKte3WeCdGa1M1feOBygQv+-AB2+A@mail.gmail.com>
References: <CABkgnnWwGAyHzkST9o9ueVmBw3_TpJun=dv2X+HL2snXSZJgew@mail.gmail.com> <CAAZdMafBWFWtC7A60P1CMm_6nUnbW+_Tx_7re1bAo7Vx2kLdcA@mail.gmail.com> <CABkgnnWphw3k=f3==2y3AhexQCj9Py50SLSEH06nN3MN0SCerQ@mail.gmail.com> <CAAZdMacHC1HKhXMR4G9CKUOmYyQMsQBab+tampP-PG6n_jJZoA@mail.gmail.com> <CACdeXiLS7W8cJbnT=orHkcd9reH=8QqhOzxWnUEpWZmfcdvd2g@mail.gmail.com> <CAGD1bZa-h0ZVh7kUYQtG3r93eH6TqRXnQ6YXAcscCrCQHk8LeA@mail.gmail.com> <CABkgnnXMFUP_c+2r6YeJouJXanHd8tFcqDKgU=C9UF0stPcXOw@mail.gmail.com> <CAGD1bZZZG9L0_d7Tmo8vfdAx+=LU+yi97N42vKFGo82K16Zycw@mail.gmail.com> <05505C10-8737-4C58-BC91-E401D2659AF0@in-panik.de> <MWHPR21MB0141F305CCE2B686F09549F887970@MWHPR21MB0141.namprd21.prod.outlook.com> <CAGD1bZY5xo5Krn=U3SBVUCPU4x2UAOcv2AnvzaRac9qJGM9KBg@mail.gmail.com> <DM5PR15MB14497BB2F1971C5965882875B6940@DM5PR15MB1449.namprd15.prod.outlook.com> <CAGD1bZbnpCxjdaEV_m_5XWEjtjmdxYTGh2VBoS8AgZdhxfsDhw@mail.gmail.com> <CABkgnnWRy17vuFRGhpvLBCKte3WeCdGa1M1feOBygQv+-AB2+A@mail.gmail.com>
From: Jana Iyengar <jri@google.com>
Date: Fri, 08 Sep 2017 17:33:57 -0700
Message-ID: <CAGD1bZZL-4HzArTQfWrC+CbHYsyB6Wdx4cbz7+0X7YOiuc-+Qg@mail.gmail.com>
Subject: Re: Split error codes in two
To: Martin Thomson <martin.thomson@gmail.com>
Cc: Subodh Iyengar <subodh@fb.com>, Mike Bishop <Michael.Bishop@microsoft.com>, "Philipp S. Tiesel" <phils@in-panik.de>, QUIC WG <quic@ietf.org>, Nick Harper <nharper@google.com>, Victor Vasiliev <vasilvv@google.com>
Content-Type: multipart/alternative; boundary="f403045ef02a6f444d0558b6d9d7"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ziYGh_nVlJ9EiBj3FRQlLgxW8WU>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 09 Sep 2017 00:34:01 -0000

On Thu, Sep 7, 2017 at 7:50 PM, Martin Thomson <martin.thomson@gmail.com>
wrote:

> On Fri, Sep 8, 2017 at 9:42 AM, Jana Iyengar <jri@google.com> wrote:
> > I don't think it makes sense to design an app protocol that doesn't send
> a
> > RST in response to a RST.
>
> I've been told not to invoke this particular demon, but you just
> invoked the Unidirectional streams problem.  I think that we get there
> because of this meme that says that data in the one direction is
> somehow necessarily bound to data in the other direction.  That's an
> entirely constructed notion.  A useful construct at times, certainly,
> but that's not the point here.
>

I think that's the most common use of a RST -- to close both directions.


> So I disagree.  There are many protocols in which you send messages
> (== streams) in one direction but not another.  One of the ways you
> get into a unidirectional state in the current draft is to end one
> side.  A FIN is only one way to do that, a unidirectional RST can be
> faster and even superior in other ways.  The HTTP use case clearly
> illustrates that.
>

FIN is the primary way in which half-close is achieved, which is what
you're talking about. The HTTP use case is a complete one-off --
STOP_SENDING is an odd enough use case that I'm always left wondering who
actually uses it.


> Also, as Igor observes, we don't require a reciprocal RST_STREAM in
> the current draft.


Yes, we don't. Recall that the RST_STREAM was, prior to the change that
doesn't require reciprocity, a bidirectional signal, which was simplified
to a unidirectional one, with the general expectation that apps would close
the other side when they receive this signal from QUIC. It's surely going
to be true of HTTP. It's possible for an app to receive a RST and then keep
sending, but that is a use case I haven't seen in practice.