You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rc...@apache.org on 2020/08/26 03:08:21 UTC
[james-project] 02/03: JAMES-3364 DeletedMessageVaultHook: limit
Flux flatMap concurrency
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit de174e7e1172494c735451c76e2c465166423326
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Aug 25 16:57:06 2020 +0700
JAMES-3364 DeletedMessageVaultHook: limit Flux flatMap concurrency
Rely on an hard-coded 8 value (constant).
---
.../main/java/org/apache/james/vault/DeletedMessageVaultHook.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVaultHook.java b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVaultHook.java
index d357649..5474f86 100644
--- a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVaultHook.java
+++ b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVaultHook.java
@@ -90,6 +90,8 @@ public class DeletedMessageVaultHook implements PreDeletionHook {
}
}
+ private static final int CONCURRENCY = 8;
+
private final MailboxSession session;
private final DeletedMessageVault deletedMessageVault;
private final DeletedMessageConverter deletedMessageConverter;
@@ -114,7 +116,7 @@ public class DeletedMessageVaultHook implements PreDeletionHook {
Preconditions.checkNotNull(deleteOperation);
return groupMetadataByOwnerAndMessageId(deleteOperation)
- .flatMap(this::appendToTheVault)
+ .flatMap(this::appendToTheVault, CONCURRENCY)
.then();
}
@@ -133,7 +135,7 @@ public class DeletedMessageVaultHook implements PreDeletionHook {
private Flux<DeletedMessageMailboxContext> groupMetadataByOwnerAndMessageId(DeleteOperation deleteOperation) {
return Flux.fromIterable(deleteOperation.getDeletionMetadataList())
.groupBy(MetadataWithMailboxId::getMailboxId)
- .flatMap(this::addOwnerToMetadata);
+ .flatMap(this::addOwnerToMetadata, CONCURRENCY);
}
private Flux<DeletedMessageMailboxContext> addOwnerToMetadata(GroupedFlux<MailboxId, MetadataWithMailboxId> groupedFlux) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org