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 752b0422f1ac75de0a40d740da4873edec79b079
Author: Benoit Tellier <[email protected]>
AuthorDate: Sun May 30 10:10:21 2021 +0700

    [PERFORMANCE] Use reactive version of countMessagesInMailbox in 
MailboxManager::delete
    
    This was causing blocking calls on the parallel scheduler and was failing.
---
 .../main/java/org/apache/james/mailbox/store/StoreMailboxManager.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index 89f6e0a..64ff6da 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -449,7 +449,8 @@ public class StoreMailboxManager implements MailboxManager {
         MessageMapper messageMapper = 
mailboxSessionMapperFactory.getMessageMapper(session);
 
         Mono<QuotaRoot> quotaRootPublisher = Mono.fromCallable(() -> 
quotaRootResolver.getQuotaRoot(mailbox.generateAssociatedPath()));
-        Mono<Long> messageCountPublisher = Mono.fromCallable(() -> 
messageMapper.countMessagesInMailbox(mailbox));
+        Mono<Long> messageCountPublisher = 
Mono.from(messageMapper.getMailboxCountersReactive(mailbox))
+            .map(MailboxCounters::getCount);
 
         return 
quotaRootPublisher.zipWith(messageCountPublisher).flatMap(quotaRootWithMessageCount
 -> messageMapper.findInMailboxReactive(mailbox, MessageRange.all(), 
MessageMapper.FetchType.Metadata, UNLIMITED)
             .map(message -> MetadataWithMailboxId.from(message.metaData(), 
message.getMailboxId()))

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

Reply via email to