This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 4c9238ac5307c598cb4c83438fa32cedd63fbaef Author: Benoit Tellier <[email protected]> AuthorDate: Tue Mar 31 10:33:40 2020 +0700 [Performance] Enhance AppendProcessor performances Using glowroot, a huge amount of time is used getting mailbox information count time Query 2,128 12,604.5 SELECT FROM acl WHERE id=:id; 2,128 9,120.9 SELECT FROM mailboxPathV2 WHERE namespace=:nam. 2,128 5,873.4 SELECT id,mailboxbase,uidvalidity,name FROM mailbox WHERE id=:id; 1,063 5,653.2 UPDATE modseq SET nextModseq=:nextModseq WHERE mailboxId=:mailboxId IF nextModseq=:... This changeset allow dividing by 2 the reads on mailbox potentially saving many useless Cassandra queries. --- .../src/main/java/org/apache/james/imap/processor/AppendProcessor.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java index fd869cb..2b348fd 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java @@ -126,7 +126,6 @@ public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> { try { final MailboxSession mailboxSession = session.getMailboxSession(); final SelectedMailbox selectedMailbox = session.getSelected(); - final MailboxManager mailboxManager = getMailboxManager(); final boolean isSelectedMailbox = selectedMailbox != null && selectedMailbox.getMailboxId().equals(mailbox.getId()); final ComposedMessageId messageId = mailbox.appendMessage(message, datetime, mailboxSession, !isSelectedMailbox, flagsToBeSet); if (isSelectedMailbox) { @@ -134,7 +133,7 @@ public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> { } // get folder UIDVALIDITY - UidValidity uidValidity = mailboxManager.getMailbox(mailboxPath, mailboxSession) + UidValidity uidValidity = mailbox .getMailboxEntity() .getUidValidity(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
