You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2022/08/18 02:01:36 UTC
[james-project] 02/02: JAMES-3801 Nack errors upon dequeue
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch 3.7.x
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit a3ce06fa198fbe4066f29195135ba8c231bed88d
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Aug 10 11:05:21 2022 +0700
JAMES-3801 Nack errors upon dequeue
(cherry picked from commit 574196b1b10cd177497cc221110edd148e924a96)
---
.../src/main/java/org/apache/james/queue/rabbitmq/Dequeuer.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
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 dfd784718d..92c549d23a 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
@@ -120,7 +120,12 @@ class Dequeuer {
private Mono<RabbitMQMailQueueItem> loadItem(AcknowledgableDelivery response) {
return loadMail(response)
- .map(mailWithEnqueueId -> new RabbitMQMailQueueItem(ack(response, mailWithEnqueueId), mailWithEnqueueId));
+ .map(mailWithEnqueueId -> new RabbitMQMailQueueItem(ack(response, mailWithEnqueueId), mailWithEnqueueId))
+ .onErrorResume(e -> {
+ LOGGER.error("Failed to load email, requeue corresponding message", e);
+ response.nack(REQUEUE);
+ return Mono.empty();
+ });
}
private ThrowingConsumer<Boolean> ack(AcknowledgableDelivery response, MailWithEnqueueId mailWithEnqueueId) {
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org