Uploaded image for project: 'James Imap'
  1. James Imap
  2. IMAP-258

FetchProcessor optimization for mailboxes with non compacted UIDs

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.2
    • 0.2
    • Mailbox
    • None

    Description

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

      Attachments

        Activity

          People

            wstrzalka Wojciech Strzałka
            wstrzalka Wojciech Strzałka
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: