Repository: james-project
Updated Branches:
  refs/heads/master 0a8c85011 -> f635520cd


JAMES-2098 Optimize message suppression while moving

Code factorisation lead to double message read


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/dbfc04c5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/dbfc04c5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/dbfc04c5

Branch: refs/heads/master
Commit: dbfc04c5cfe2430db27b88298f7102cc4d822b13
Parents: 985ab86
Author: benwa <[email protected]>
Authored: Mon Jul 24 21:39:09 2017 +0700
Committer: benwa <[email protected]>
Committed: Tue Jul 25 14:12:14 2017 +0700

----------------------------------------------------------------------
 .../apache/james/mailbox/store/StoreMessageIdManager.java | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/dbfc04c5/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
index e44c2c9..9b9d6e1 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
@@ -177,7 +177,15 @@ public class StoreMessageIdManager implements 
MessageIdManager {
                 addMessageToMailboxes(messageIdMapper, mailboxMessage, 
mailboxesToAdd, mailboxSession);
             }
             if (!mailboxesToRemove.isEmpty()) {
-                delete(messageId, mailboxesToRemove, mailboxSession);
+                messageIdMapper.delete(messageId, mailboxesToRemove);
+
+                for (MailboxMessage message: mailboxMessages) {
+                    if (mailboxesToRemove.contains(message.getMailboxId())) {
+                        dispatcher.expunged(mailboxSession,
+                            new SimpleMessageMetaData(message),
+                            
mailboxMapper.findMailboxById(message.getMailboxId()));
+                    }
+                }
             }
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to