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