This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit aad4442b6cb902ea216434fd644d6615661ead78 Author: Benoit Tellier <[email protected]> AuthorDate: Tue Jun 18 14:16:33 2019 +0700 JAMES-2794 Dequeuer should rely on concatMap and not flatMap flatMap can lead to event reordering (8% occurrence) which causes browseAndDequeueShouldCombineWellWhenDifferentSlices to be flacky. Note that filtering out deleted emails actually increased the inconsistency window --- .../src/main/java/org/apache/james/queue/rabbitmq/Dequeuer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/Dequeuer.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/Dequeuer.java index 95f13ee..7ed8d3e 100644 --- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/Dequeuer.java +++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/Dequeuer.java @@ -89,8 +89,8 @@ class Dequeuer { } Flux<? extends MailQueue.MailQueueItem> deQueue() { - return flux.flatMap(this::loadItem) - .flatMap(this::filterIfDeleted); + return flux.concatMap(this::loadItem) + .concatMap(this::filterIfDeleted); } private Mono<RabbitMQMailQueueItem> filterIfDeleted(RabbitMQMailQueueItem item) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
