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 ma...@apache.org on 2018/05/25 09:09:01 UTC

[4/7] james-project git commit: MAILBOX-337 Chuncks for CassandraMessageIdMapper::delete

MAILBOX-337 Chuncks for CassandraMessageIdMapper::delete


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

Branch: refs/heads/master
Commit: de07900dea0cffa9ee2260654f5f8b561808fe23
Parents: fe3e39d
Author: benwa <bt...@linagora.com>
Authored: Wed May 16 12:50:13 2018 +0700
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Fri May 25 11:07:39 2018 +0200

----------------------------------------------------------------------
 .../cassandra/mail/CassandraMessageIdMapper.java      | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/de07900d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapper.java
index 52ab41f..c1ab8af 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapper.java
@@ -194,12 +194,14 @@ public class CassandraMessageIdMapper implements MessageIdMapper {
 
     @Override
     public void delete(Multimap<MessageId, MailboxId> ids) {
-        FluentFutureStream.of(
-            ids.asMap()
-                .entrySet()
-                .stream()
-                .map(entry -> deleteAsFuture(entry.getKey(), entry.getValue())))
-            .join();
+        ids.asMap()
+            .entrySet()
+            .stream()
+            .collect(JamesCollectors.chunker(cassandraConfiguration.getExpungeChunkSize()))
+            .forEach(chunk ->
+                FluentFutureStream.of(chunk.stream()
+                    .map(entry -> deleteAsFuture(entry.getKey(), entry.getValue())))
+                    .join());
     }
 
     private CompletableFuture<Void> retrieveAndDeleteIndices(CassandraMessageId messageId, Optional<CassandraId> mailboxId) {


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