Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-3408

IMAP LIST should not query "mailbox counters"

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 3.6.0
    • Component/s: IMAPServer, mailbox
    • Labels:
      None

      Description

      This information is unused.

      Remove "mailbox counters" from `MailboxManager::search` MailboxMetdata POJO.

      JMAP-draft and JMAP-RFC8621 will need to rely on a brand new `mailboxManager.getMailboxCounters(ids)` calls as part of `Mailbox/get`.

      This is even more important to avoid paying the price of mailbox-counters read repairs upon IMAP LIST.

      = Definition of done

      Using glowroot on DEV (or locally on a distributed-james server), access your mailbox via IMAP and Thunderbird.

      Go in the IMAP LIST transaction, there should be no "mailbox counters" calls.

      = Diagnostic

      While looking at the Glowroot board:

      Transaction type: IMAP
      Transaction name: IMAP processor : org.apache.james.imap.processor.ListProcessor
      Start: 2020-06-29 5:04:15.319 am (+07:00)
      Duration: 29,310.3 milliseconds
      

      We saw that we have some IMAP list slow traces, mostly due to the (very) high count of mailboxes... (104)

      A closer look at executed queries shows around a third of the query time is spent retrieving mailbox counters. Which is not part of the IMAP list response.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              btellier Benoit Tellier
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: