Re: [core] WG Last Call on draft-ietf-core-new-block

supjps-ietf@jpshallow.com Thu, 18 February 2021 13:18 UTC

Return-Path: <jon.shallow@jpshallow.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DACD23A11F1 for <core@ietfa.amsl.com>; Thu, 18 Feb 2021 05:18:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 lXT8mC0G-UB1 for <core@ietfa.amsl.com>; Thu, 18 Feb 2021 05:18:52 -0800 (PST)
Received: from mail.jpshallow.com (mail.jpshallow.com [217.40.240.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C70FA3A11F0 for <core@ietf.org>; Thu, 18 Feb 2021 05:18:51 -0800 (PST)
Received: from mail2.jpshallow.com ([192.168.0.3] helo=N01332) by mail.jpshallow.com with esmtp (Exim 4.92.3) (envelope-from <jon.shallow@jpshallow.com>) id 1lCjCi-0005KQ-Tv; Thu, 18 Feb 2021 13:18:48 +0000
From: <supjps-ietf@jpshallow.com>
To: <christian@amsuess.com>, <mohamed.boucadair@orange.com>
Cc: <draft-ietf-core-new-block@ietf.org>, <dots@ietf.org>, <core@ietf.org>
References: <32574_1612339432_601A58E8_32574_29_1_787AE7BB302AE849A7480A190F8B9330315C6345@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <04a201d6d9d8$c7919ae0$56b4d0a0$@jpshallow.com> <YCxZ4zGRvTnYRkAT@hephaistos.amsuess.com>
In-Reply-To: <YCxZ4zGRvTnYRkAT@hephaistos.amsuess.com>
Date: Thu, 18 Feb 2021 13:18:52 -0000
Message-ID: <004201d705f8$9a108080$ce318180$@jpshallow.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQF93Q3vI61hNRrbjU+ftA4PQN3RvasQHx+g
Content-Language: en-gb
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/p5HqqJEE2KUMxlscBydIcto1S00>
Subject: Re: [core] WG Last Call on draft-ietf-core-new-block
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Feb 2021 13:18:58 -0000

Hi Christian,

We have gone for adding in the following to the disadvantages list. 

* The Q-Block Options do not support stateless operation/random access.
* Proxying of Q-Block is limited to caching full representations.

Regards

Jon
> -----Original Message-----
> From: Christian M. Amsüss [mailto: christian@amsuess.com]
> Sent: 16 February 2021 23:49
> To: jon@jpshallow.com; mohamed.boucadair@orange.com
> Cc: draft-ietf-core-new-block@ietf.org; dots@ietf.org; core@ietf.org
> Subject: Re: [core] WG Last Call on draft-ietf-core-new-block
> 
> Hello,
> 
> where not explicitly responded to, the updates address my points, thank
you for
> updating the document.
> 
> > >   * The Q-Block options do not support stateless operation / random
> > >     access.
> >
> > [Jon] Actually Q-Block2 does now support this following the
> > redefinition of the M bit usage in a previous iteration (with M=0 you
> > can ask for any individual block).
> 
> Random access can also be in the Block1 phase; a standalone `PUT /resource
> Block1:5/0/6` can be used independenlty of other operations to overwrite a
> particular part of a resource.
> 
> > [Jon] For stateless, Request-Tag is included so this should be fine.
> > https://datatracker.ietf.org/doc/html/draft-ietf-core-stateless-06#sec
> > tion-4
> 
> By stateless, I was referring to the server not keeping state per body.
> That is the opposite of using a Request-Tag.
> 
> > >   * Proxying of Q-Block is limited to caching full representations.
> > >
> > >   (The latter might be mitigated by additional text around caching,
but
> > >   I doubt it's worth the effort given it's not part of the use case).
> >
> > [Jon] I am not entirely convinced that Block1/2 have got the caching
> > by block properly sorted out - e.g. what happens when different
> > clients make requests with different SZX and Block2 is part of the
> > cache key.  The limiting to caching full representations is there so
> > that a new can of worms is not opened up.
> 
> The Block options are not part of the cache key -- they are
not-safe-to-forward
> and thus come with rules as to the cache behavior, rather than havign a
cache-
> key property.
> 
> The behavior is sorted out: If an earlier client requested, say,
> block2:0//6 (first 1KiB), then while that is fresh, it may be used to
serve any
> request for smaller chunks (say, block2:1//5 for bytes 512-1024).
> 
> The same is true in the other direction: A proxy may use its cached
> 3x256 bytes (even exceeding the Max-Age), ask the server for the 4th 256
byte
> block (which by its ETag confirms the others are still good), and then
serve them
> combined as a 1KiB response.
> 
> 
> Thus, I think these two points (Incomplete support for random access, and
block-
> by-block proxying) still stand to be added to the considerations.
> 
> To give you background on why I'm so picky about this list: People
> *will* still get the initial impression that this is the later-and-greater
version, and
> for the outlined purposes it is, but if we don't set the expectations
right here,
> there will be disappointment.
> 
> BR
> c
> 
> --
> To use raw power is to make yourself infinitely vulnerable to greater
powers.
>   -- Bene Gesserit axiom