james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Norman Maurer (JIRA)" <server-...@james.apache.org>
Subject [jira] Commented: (IMAP-258) FetchProcessor optimization for mailboxes with non compacted UIDs
Date Wed, 23 Feb 2011 20:18:38 GMT

    [ https://issues.apache.org/jira/browse/IMAP-258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998537#comment-12998537

Norman Maurer commented on IMAP-258:

I like the idea to use a callback. But I think it would make sense to remove the "old"  method:

     * Gets messages in the given range.
     * @param set
     * @param fetchGroup data to fetch
     * @param mailboxSession not null
     * @return MessageResult with the fields defined by FetchGroup
     * @throws MailboxException
    Iterator<MessageResult> getMessages(MessageRange set, FetchGroup fetchGroup, 
            MailboxSession mailboxSession) throws MailboxException;


> FetchProcessor optimization for mailboxes with non compacted UIDs 
> ------------------------------------------------------------------
>                 Key: IMAP-258
>                 URL: https://issues.apache.org/jira/browse/IMAP-258
>             Project: JAMES Imap
>          Issue Type: Improvement
>          Components: Mailbox
>    Affects Versions: 0.2
>            Reporter: Wojtek Strzalka
>            Assignee: Wojtek Strzalka
>             Fix For: 0.2
> Current FetchProcessor implementation divides the requested message range to batch set
using some configuration parameter to avoid OOM.
> Then for each batch range it calls the mailbox to return messages in this range. This
can lead to serious performance problems when you have mailbox with non-consistent UID values.
I.e. you can have mailbox with 2 messages in it
> message 1 UID=1
> message 2 UID=1000000
> Regular client fetch will look like "UID FETCH 1:1000000 (...)" - this is real case what
MS Outlook will do.
> So the current mail implementation with default batch set will split it to 10k of batches
and then call mailbox 10k times...... 

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org

View raw message