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]

Reply via email to