You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2022/03/15 02:00:27 UTC

[james-project] 09/10: JAMES-3720 RabbitMQMailQueue piggy backed cleanup should dispose emails

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch 3.7.x
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 9a990ea68dcc45522cb22198a8b4a0ef4cac2b78
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Mar 4 21:16:33 2022 +0700

    JAMES-3720 RabbitMQMailQueue piggy backed cleanup should dispose emails
    
    (cherry picked from commit c2e80ed0de47e725a7436df3550c2919cd04cddd)
---
 .../queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java
index a7ae50f..38e778b 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java
@@ -116,7 +116,8 @@ public class CassandraMailQueueMailDelete {
 
     private Mono<SlicingContext> deleteEmailsFromBrowseProjection(MailQueueName mailQueueName, SlicingContext slicingContext) {
         return enqueuedMailsDAO.selectEnqueuedMails(mailQueueName, Slice.of(slicingContext.getTimeRangeStart()), slicingContext.getBucketId())
-            .flatMap(item -> deletedMailsDao.removeDeletedMark(mailQueueName, item.getEnqueuedItem().getEnqueueId()), DEFAULT_CONCURRENCY)
+            .flatMap(item -> deletedMailsDao.removeDeletedMark(mailQueueName, item.getEnqueuedItem().getEnqueueId())
+                .then(Mono.fromRunnable(item::dispose).subscribeOn(Schedulers.elastic())), DEFAULT_CONCURRENCY)
             .then()
             .thenReturn(slicingContext);
     }

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org