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 <btell...@linagora.com>
Authored: Wed May 16 12:50:13 2018 +0700
Committer: Matthieu Baechler <matth...@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-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to