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 3bdedd2ffa3072e9a3626ab116a7606a4228a1a3 Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Sun Sep 14 00:04:32 2025 +0200 JAMES-3758 Batch deletions This avoids sending too large messages when purging eg 1.000.000 messages. --- .../org/apache/james/webadmin/service/ExpireMailboxService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/ExpireMailboxService.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/ExpireMailboxService.java index 5aa5256dd1..17388a192e 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/ExpireMailboxService.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/ExpireMailboxService.java @@ -328,8 +328,11 @@ public class ExpireMailboxService { if (uids.isEmpty()) { return Mono.just(0); } else { - return Mono.from(mgr.deleteReactive(uids, session)) - .thenReturn(uids.size()); + return Flux.fromIterable(uids) + .window(128) + .flatMap(Flux::collectList) + .concatMap(u -> mgr.deleteReactive(u, session).thenReturn(u.size())) + .reduce(Integer::sum); } } --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org