Re: [Tsv-art] Tsvart last call review of draft-ietf-httpbis-priority-10

Kazuho Oku <kazuhooku@gmail.com> Wed, 05 January 2022 04:46 UTC

Return-Path: <kazuhooku@gmail.com>
X-Original-To: tsv-art@ietfa.amsl.com
Delivered-To: tsv-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DB7713A253B; Tue, 4 Jan 2022 20:46:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.687
X-Spam-Level:
X-Spam-Status: No, score=-0.687 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 Nv3E0rG6XbzS; Tue, 4 Jan 2022 20:46:28 -0800 (PST)
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (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 99B8D3A2539; Tue, 4 Jan 2022 20:46:22 -0800 (PST)
Received: by mail-ed1-x532.google.com with SMTP id j6so156832795edw.12; Tue, 04 Jan 2022 20:46:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tiSxgCSaHajQpGtDlV772iH1jkKnnm3WDtB1L+0Q8rg=; b=gp+c+l2R/712YxIFSzbMr7wHlcGf18GyIs6ohxn1kbdwYKyt3aR1VZM5tf2H9u/odS BzVCgVm0GA9HY7PDMqWDwn9E/uvmk07rmSk0Sm4s5mm+2ul5z/vA7UMcetjEriqUmyDP YPV3HXh20xz8KJWQJUWq1Wdv3fJB+Op4zAEwlXD0TUSEPU3tDfTrQS6EaDxihEnQCf2p FPgioqYBLp2LHIsGoeMTTJXRc3nzDzP8+O2YeAoDA6QX1ax/x49/4h1owYaNhblYWRPb OWUOh7fO/ryFystPTEbCWsFwyfdQRTaotZX3dATNq1ZVSpjtbS1mLGIQbtBEUqe1k7Fh 4J2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tiSxgCSaHajQpGtDlV772iH1jkKnnm3WDtB1L+0Q8rg=; b=HYTDaTEzsGO47qeCc/gfeFPW+Vxbrs5c8vmr+tT4C+7e3ciDnImESLJwevCfqPxwSt PwGLq4ZUFD+s6ddlUu01oVERWigmDG9qR2T54poiXX2Th17XBJu7wbgZqF09hFcT14YT +8B/ZY6bzrK75WismZPHvPVWUgqYQ8YFYIbNsXAFTjmPPDsLKdoA6ObHNV7ZOWg+cqfQ bkDcFoWJ0Fx9PGAMKRAk3iKZK4cD5DP0Em21vDLGvDOrygRU8OLLn9Zo3SZMgF+/gPNz O7C0s0Zl7mWWiHsFbNwcSOh4z1IxTlHNFtnGvxGsgV+7Y4pZyKXkGS2iCLwTJNc50rWM AYQQ==
X-Gm-Message-State: AOAM532k3oejUn+xSxdX3O23mOCPrcxm+3l5fsrEJ2MyUXoStY4bST5h x6yGHDTXAkJ44ySucr4pSydZLUyM9Om72h8SyTc=
X-Google-Smtp-Source: ABdhPJyH8Sje69yFgynGMBr67FLhIvcTPfhtTX3Lg7muuEkGKSlXYwAFe0+UKC8Yj7wJPUZrCal0VBj+98cZ+Ro+GeU=
X-Received: by 2002:a17:906:82c7:: with SMTP id a7mr43307182ejy.91.1641357979430; Tue, 04 Jan 2022 20:46:19 -0800 (PST)
MIME-Version: 1.0
References: <163823172684.25092.12541395997867030932@ietfa.amsl.com> <CALGR9oZJKr_guJfP_QxhTcAjXCGDT+a-gJHjFfksFisc-ZAxnA@mail.gmail.com> <5a46e3d3-36b4-fde5-932f-0381bbe75e22@bobbriscoe.net>
In-Reply-To: <5a46e3d3-36b4-fde5-932f-0381bbe75e22@bobbriscoe.net>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Wed, 05 Jan 2022 13:46:08 +0900
Message-ID: <CANatvzyAAMiRA98fxGVswinDwO4pHy89vkTPQ7zvPDLJmQf5rQ@mail.gmail.com>
To: Bob Briscoe <ietf@bobbriscoe.net>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, tsv-art@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, last-call@ietf.org, draft-ietf-httpbis-priority.all@ietf.org
Content-Type: multipart/alternative; boundary="0000000000005032b605d4ce6f46"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/omfYkNthf-WMLRmc3__GnEJ6X2U>
Subject: Re: [Tsv-art] Tsvart last call review of draft-ietf-httpbis-priority-10
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Jan 2022 04:46:33 -0000

Bob, thank you for your thorough review.

I think we have addressed or Lucas has responded to most of the points, but
I've been notified that the point below has been left to me.

2021年12月21日(火) 21:17 Bob Briscoe <ietf@bobbriscoe.net>:

>
> T#5c) Nothing said about caching and priority
>>
>> The paragraph about caching and priority just ends having talked a bit
>> about
>> caching but not about priority. It left me none the wiser about what a
>> cache
>> ought to store about priority with the response. §13.8 talks about
>> fairness
>> between multiple live connections in the presence of coalescing. But
>> doesn't
>> the discussion of caching and priority here need to talk about what
>> must/should/may be stored about priority in a cache for later
>> connections. Even
>> if it's implementation dependent, wouldn't it be worth a brief discussion
>> (as
>> in the 2 paras below).
>>
>> The priority of a response is the outcome of an interaction between the
>> client's original (e2e) priority combined with the server's logic about
>> the
>> resource. If only the priority outcome is stored, then when another
>> request
>> arrives at the cache from a different client, there will be no record of
>> the
>> original client's priority. So the  cache will not know what client
>> priority
>> led to the priority stored with the response. And it will not know
>> whether the
>> current client priority is the same or different.
>>
>> On the other hand, if the cache stores the original client priority with
>> the
>> response priority, then should it refer a request with a different (e2e)
>> client
>> priority to the server, then store the new pair of priorities with the
>> original
>> cached response? And I guess it could serve the request in parallel,
>> rather
>> than waiting for the server to tell it whether to serve the request
>> urgently
>> (!). This would probably scale reasonably well, given the likely small
>> number
>> of different client priorities. But who knows how it would scale if the
>> parameter space is extended in future.
>>
>
> Answer supplied by Kazuho - As discussed in the last paragraph of section
> 5, CACHING defines if and how requests with different header field values
> can be mapped to one response. If the capabilities provided by CACHING
> (i.e. Vary) is too limited, then we should fix that as an extension to
> CACHING (as have been previously proposed as draft-ietf-httpbis-key). In
> practice, re Extensible Priorities, IMO, there aren't many sensible
> combinations of urgency and incremental. Therefore, backend servers that
> want to tune priority based on the value that the client sends can simply
> send Vary: priority and call it a day.
>
>
> [BB] I think my point has been missed. I'll try an example:
> Client A requests
>     priority u=4
> Server responds
>     priority u=2,
> which gets cached.
> Client B requests same object
>     priority u=4.
> Client C requests same object
>     priority u=0
>
> If requests B & C were forwarded to the origin, it would respond with
>     priority u=2    # for B
>     priority u=0    # for C
>
> However, even though the cached object has the same priority header that
> the origin server would give to Client B's request, it's different to that
> cached. And the cache cannot tell that B's request would match, but C's
> wouldn't.
>
> Vary doesn't help here, does it? At least not without storing the client
> request priority as well as the server response.
>

[KO] Vary does exactly that.

Quoting from draft-ietf-httpbis-cache-19 section 4.1: When a cache receives
a request that can be satisfied by a stored response and that stored
response contains a Vary header field (Section 12.5.5 of [HTTP]), the cache
MUST NOT use that stored response without revalidation unless all the
presented request header fields nominated by that Vary field value match
those fields in the original request (i.e., the request that caused the
cached response to be stored).
https://httpwg.org/http-core/draft-ietf-httpbis-cache-latest.html#rfc.section.4.1.p.1

-- 
Kazuho Oku