Re: [Extra] Working Group Last Call - draft-ietf-extra-imap-fetch-preview-08
Alexey Melnikov <alexey.melnikov@isode.com> Tue, 07 July 2020 08:31 UTC
Return-Path: <alexey.melnikov@isode.com>
X-Original-To: extra@ietfa.amsl.com
Delivered-To: extra@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B5E7E3A07C3 for <extra@ietfa.amsl.com>; Tue, 7 Jul 2020 01:31:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=isode.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 nNw9iz3PB2NT for <extra@ietfa.amsl.com>; Tue, 7 Jul 2020 01:31:13 -0700 (PDT)
Received: from statler.isode.com (Statler.isode.com [62.232.206.189]) by ietfa.amsl.com (Postfix) with ESMTP id BBCE23A07E2 for <extra@ietf.org>; Tue, 7 Jul 2020 01:31:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1594110671; d=isode.com; s=june2016; i=@isode.com; bh=nOBqBFwOV3U10Y8uQ3sVkScbH90QyKc4MmTZ6uVD11I=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=QbQlwhnQkJYsobK2HlHQidh7OdL/szCwogQjck2xxSRMSf7oPkCMPipxz/SDl9rTMZiR9z GKRlhuaHcOL1XvEeTR406Q9RWrMQKYRWeGGjATgGsz6FwS4Y9/OikGVpqlZ1RTufpOAae3 Oe2SJmf41Ipcp2DoPWtWlgQYJYrmTR0=;
Received: from [192.168.1.222] (host81-151-37-172.range81-151.btcentralplus.com [81.151.37.172]) by statler.isode.com (submission channel) via TCP with ESMTPSA id <XwQyzAAFT2bv@statler.isode.com>; Tue, 7 Jul 2020 09:31:10 +0100
To: Bron Gondwana <brong@fastmailteam.com>, extra@ietf.org
References: <c4da8962-ec81-4ee5-b2e1-258d5b247770@dogfood.fastmail.com> <E7CA280C-D1B9-4BE7-8109-E070CF742623@sirainen.com> <1948688035.19548.1594092129291@appsuite.open-xchange.com> <0cbbf363-2652-40a7-baad-e0d7e38037e8@dogfood.fastmail.com>
From: Alexey Melnikov <alexey.melnikov@isode.com>
Message-ID: <01948a8c-3879-b47a-dfc6-a46f8a0cdf6d@isode.com>
Date: Tue, 07 Jul 2020 09:30:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0
In-Reply-To: <0cbbf363-2652-40a7-baad-e0d7e38037e8@dogfood.fastmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------401223FF3C51DD2652950B48"
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/_kL5JlbPDDOIh-RjdfdAJlO2RXw>
Subject: Re: [Extra] Working Group Last Call - draft-ietf-extra-imap-fetch-preview-08
X-BeenThere: extra@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email mailstore and eXtensions To Revise or Amend <extra.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/extra>, <mailto:extra-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/extra/>
List-Post: <mailto:extra@ietf.org>
List-Help: <mailto:extra-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/extra>, <mailto:extra-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Jul 2020 08:31:15 -0000
On 07/07/2020 05:38, Bron Gondwana wrote: > On Tue, Jul 7, 2020, at 13:22, Michael Slusarz wrote: >>> On 07/02/2020 3:20 AM Timo Sirainen <timo@sirainen.com> wrote: >>> >>> >>> On 2. Jul 2020, at 4..56, Bron Gondwana < brong@fastmailteam.com >>> <mailto:brong@fastmailteam.com>> wrote: >>> >>>> As discussed in the interim meeting, this document was brought back >>>> to the working group to be reverted to an earlier and simpler version. >>>> >>>> This email announces a 2 week working group last call for any >>>> further comments on this version before I re-submit to IESG for >>>> publication. Please reply with any comments by Thursday, July 16th >>>> 2020. Let's get this one off our plates before IETF108. >>> >>> It is possible that preview text is not available now, but might be >>> available later -- perhaps the server's preview-generating resources >>> are overloaded, there is a server-imposed timeout during preview >>> generation, or there is some transient issue with fetching the >>> message body. In such cases, the server will return NIL as the >>> preview response, and the client can try to retrieve the preview >>> later. >>> This sounds like it's possible for server to return NIL even when >>> the LAZY modifier isn't specified. Is this really wanted? I'd think >>> client developers would prefer that only LAZY can return NILs. >>> Either way, it's not clearly enough specified what is intended. >> I was originally going to agree with Timo ... but then I remember we >> added this part as a direct response to a potential DoS situation - >> what happens if preview requests are (subjectively) taking too much time. >> >> If a server can't produce a preview within a certain time threshold, >> it should somehow be able to abort the request. NIL might not be the >> best solution, but what if it empty string ("") is returned? Then a >> caching client may never have preview text for that message, even >> though the inability to return the text may be a temporary issue. >> >> LAZY means a server should return preview only if it is pre-generated >> (or can be generated without noticeable delay to user). non-LAZY >> request should return PREVIEW unless it exceeds some sort of >> server-defined timeout. But in the latter case - unless the server >> knows it can never create a PREVIEW, it does seem that NIL is the >> semantically correct response, at least given the current >> definitions. Empty string means the server has canonically decided >> that no reasonable preview can be generated.. >> >> Another suggestion might be to return NO response to the FETCH ... >> but semantics of that are a little tortured if the rest of the FETCH >> request could be returned, or if preview can be returned for all but >> one of the messages requested in the FETCH. >> >> In the IMAP spec we have: "The LIST command SHOULD return its data >> quickly, without undue delay." Maybe adopt this language and leave >> it to server to figure out what is "undue delay?" But that doesn't >> address whether empty string or NIL is the correct response if undue >> delay is reached... > > I'm good with the server returning a NO to the whole fetch with text > like "preview generation took too long, try again with LAZY". I mean > - the Cyrus server does something like that with SEARCH results that > take too long these days - it'll just tell you "NO try again with a > less expensive search" if it takes over 30s with our config. I expect > we'd do the same with FETCH - send a NO (possibly part way through the > fetch results) if we hit this kind of error. I think returning NO to FETCH is problematic and will cause problems with clients as they don't expect it. Untagged NO might be slightly better. > Maybe some client advice: > > 1) make the initial fetch with PREVIEW (LAZY) and the other fields you > care about. > 2) for items that got a NIL response, batch request non-lazy PREVIEW > in sensible-sized batches (e.g. 64 at a time) These recommendations are good.
- [Extra] Working Group Last Call - draft-ietf-extr… Bron Gondwana
- Re: [Extra] Working Group Last Call - draft-ietf-… Timo Sirainen
- Re: [Extra] Working Group Last Call - draft-ietf-… Alexey Melnikov
- Re: [Extra] Working Group Last Call - draft-ietf-… Michael Slusarz
- Re: [Extra] Working Group Last Call - draft-ietf-… Bron Gondwana
- Re: [Extra] Working Group Last Call - draft-ietf-… Alexey Melnikov
- Re: [Extra] Working Group Last Call - draft-ietf-… Timo Sirainen
- Re: [Extra] Working Group Last Call - draft-ietf-… Bron Gondwana
- Re: [Extra] Working Group Last Call - draft-ietf-… Michael Slusarz
- Re: [Extra] Working Group Last Call - draft-ietf-… Bron Gondwana