Re: [Extra] [EXT] Benjamin Kaduk's No Objection on draft-ietf-extra-imap-fetch-preview-09: (with COMMENT)

Michael Slusarz <michael.slusarz@open-xchange.com> Wed, 23 September 2020 05:14 UTC

Return-Path: <michael.slusarz@open-xchange.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 86B803A0D3A; Tue, 22 Sep 2020 22:14:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, 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 (2048-bit key) header.d=open-xchange.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 UG_j56A6yirf; Tue, 22 Sep 2020 22:14:16 -0700 (PDT)
Received: from mx3.open-xchange.com (alcatraz.open-xchange.com [87.191.39.187]) (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 3ED9D3A0D3C; Tue, 22 Sep 2020 22:14:15 -0700 (PDT)
Received: from open-xchange.com (imap.open-xchange.com [10.20.30.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx3.open-xchange.com (Postfix) with ESMTPS id A1E8E6A263; Wed, 23 Sep 2020 07:14:13 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=open-xchange.com; s=201705; t=1600838053; bh=1HOeq3bgmBAwCnNX3wsiiNwv6mSSPC1BhsbvyBE+X1k=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From; b=p5L+YT6R9WOeboTd5fRKifTZmPfBfei+ZW5Xf+AFYAOWH6qvjbbQgUqfOUB+V+PtK VpyfcpuLG0EzTNCKgu1ApfW7wRd7kVbmGCXRSlcEGYrVATDWqqcttfuXMX8XTSQDfd EyfWz4BvrOma5DSYfv8WgK+9F2q4rrzrBZqYoHiBBDnAzeGShiH4XS8P4J9JFzSy/X KjFPxwMxDGM8zDs+C4ZoplhP3ZE74lMlQakuiGEOLnQaO/KUzmrIv1+DZXX3ha47mA GlqD9ZqlOGjzBXfG3iWBGuekmOswpWC7wyzF7x2nrMt3Xhcz6IJ6BC4hoVjNVOCG9L Vr4qcNIpBVh+Q==
Received: from appsuite-gw2.open-xchange.com (appsuite-gw2.open-xchange.com [10.20.28.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by open-xchange.com (Postfix) with ESMTPSA id 783143C0372; Wed, 23 Sep 2020 07:14:13 +0200 (CEST)
Date: Tue, 22 Sep 2020 23:14:13 -0600
From: Michael Slusarz <michael.slusarz@open-xchange.com>
To: Benjamin Kaduk <kaduk@mit.edu>, Benjamin Kaduk via Datatracker <noreply@ietf.org>, The IESG <iesg@ietf.org>
Cc: draft-ietf-extra-imap-fetch-preview@ietf.org, extra-chairs@ietf.org, extra@ietf.org, Bron Gondwana <brong@fastmailteam.com>
Message-ID: <954798175.17578.1600838053373@appsuite.open-xchange.com>
In-Reply-To: <160080490190.9778.18063295243922914906@ietfa.amsl.com>
References: <160080490190.9778.18063295243922914906@ietfa.amsl.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Priority: 3
Importance: Normal
X-Mailer: Open-Xchange Mailer v7.10.4-Rev8
X-Originating-Client: open-xchange-appsuite
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/D5VJf37FIFkdi2k9WGg9CXkJmU8>
Subject: Re: [Extra] [EXT] Benjamin Kaduk's No Objection on draft-ietf-extra-imap-fetch-preview-09: (with COMMENT)
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: Wed, 23 Sep 2020 05:14:19 -0000

> On 09/22/2020 2:01 PM Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote:
>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> I agree with Martin D's comment.

Addressed in a separate message.


> I was a little surprised to not see any mention of the analogous JMAP
> capability (but I guess I'm not actually sure whether one or the other
> "came first").

Addressed in a separate message.


> Section 3.3
> 
>    The server SHOULD limit the length of the preview text to 200 preview
>    characters.  This length should provide sufficient data to generally
>    support both various languages (and their different average word
>    lengths) and diverse client display size requirements.
> 
> Does the internationalization directorate agree with this analysis?
> 
>    format, size, and filename.  This descriptive text is not a product
>    of the message body itself but is rather auto-generated data by the
>    server, and should thus use the rules defined for human-generated
>    text described in the LANGUAGE extension (if supported on the
>    server).
> 
> nit: is "human-generated text" the right description here?  A quick read
> of RFC 5255 suggests that "generated for human consumption" is usually
> the appropriate characterization of text affected by the langauge
> selection.

Oops ... I think "human-generated" is just fundamentally wrong here.  We are discussing text that is meant for human consumption, but it is not generated BY humans (it's generated programmatically by the server).

My re-read of RFC 5255 indicates that "human-readable text" is the phrase that is used there.  And that's what we already use elsewhere in that paragraph.  So I think this is just a typo, and should be this:

  and should thus use the rules defined for human-readable text described in the LANGUAGE extension


> Section 4.2
> 
>    Once this initial FETCH is complete, the client can then issue FETCH
>    requests, without the LAZY modifier, to load the preview data for the
> 
> nit: "PREVIEW data item" would be more consistent with the previous
> paragraph (and make it harder to skip over the fact that the preview
> data is being FETCHed, not the entire message).

Agreed.


> 
>    messages in which preview data was not returned.  It is RECOMMENDED
>    that these FETCH requests be issued in small batches, e.g. 50
>    messages per FETCH command, since preview generation may be expensive
>    and a single large request may exceed server resource limits.
> 
> nit: comma after "e.g.".

OK.


> Section 5
> 
> I'd consider updating the dates in the examples to be closer to the
> publication date of the document.

Fair enough.  Although the old dates are a valuable lesson (at least to me) on how long it sometimes takes to move a draft through the process :)


> Section 8
> 
> Does it go without saying that a given user should only have access to
> preview content for messages that it has access to the full content of?

The base IMAP4rev1 document doesn't even have this kind of warning.  If we think that this is necessary here then we should probably also push this idea to Alexey and Barry as they are working on the new IMAP revision, since this warning would apply to message data in general.

I don't believe this draft fundamentally changes anything in IMAP.  If you can access a mail in a mailbox, you can access its full body.  This extension just provides an alternative view of that body data, so it doesn't provide a novel way of accessing data.


>    results are stored on the server after generation.  Servers MAY limit
>    the resources that preview generation uses.  In order to mitigate
> 
> Would this result in the server generating empty-string previews for
> some messages that it would otherwise have produced a non-empty preview
> for?  I'd like to see a little more description of expected server
> behavior in the case of excessive resource usage for preview generation.

For historical context: this is the exact issue that was discussed and addressed in the last draft (-09).  Previously, we would have allow a NIL response in this case that could have been returned in this situation.  However, we decided instead that a non-LAZY request must always return some sort of determinative response.

Preview data is "nice-to-have" info, as opposed to "must have" information like the actual message bodies.  As such, I feel it needs to be left up to the server to decide in extreme cases that it would rather provide no preview, which is an annoyance, than causing access to the mail data to be affected, which is a critical problem.

It may not be preview generation that is *causing* the excessive resource usage.  It could be the system is overloaded in general due to other problems.  The server is best positioned to determine which ancillary activities it may have to curtail in order to provide the basic mail access, and it is reasonable to predict that preview generation may be one of those activities.

As to what the expected server behavior should be?  I think that's dependent on the reasons behind the excessive resource usage.  The document defines a server's options: send nothing or send something less than a perfect preview.  The server should make the decision based on the information available to it; I don't think it's the job of this document to demand a specific kind of response.

michael