james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wojciech Strzałka <wstrza...@gmail.com>
Subject Re: [jira] Created: (IMAP-258) FetchProcessor optimization for mailboxes with non compacted UIDs
Date Sat, 12 Feb 2011 19:10:10 GMT

I'm going to implement it passing original message range (without
chunking) and the batch size to the mailbox.
Callback interface will be passed to mailbox to allow it send back
data chunks when ready.

Anybody has better idea ?

> 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
>              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...... 

 Wojciech Strzałka

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

View raw message