You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/11/20 01:56:29 UTC
[james-project] 01/49: JAMES-2949 Fix metric reporting upon dequeue
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 b8c3d7494dd530d2242bf43428a42acfdc4f9a71
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Nov 19 13:07:13 2019 +0700
JAMES-2949 Fix metric reporting upon dequeue
Unacurrate time of 0 ms is always being reported...
---
.../org/apache/james/mailetcontainer/impl/JamesMailSpooler.java | 7 +++----
.../james/transport/mailets/remote/delivery/DeliveryRunnable.java | 5 ++---
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index 6b40d81..e2101d1 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -118,12 +118,11 @@ public class JamesMailSpooler implements Disposable, Configurable, MailSpoolerMB
TimeMetric timeMetric = metricFactory.timer(SPOOL_PROCESSING);
try {
processingActive.incrementAndGet();
- return processMail(queueItem);
+ return processMail(queueItem)
+ .doOnSuccess(any -> timeMetric.stopAndPublish())
+ .doOnSuccess(any -> processingActive.decrementAndGet());
} catch (Throwable e) {
return Mono.error(e);
- } finally {
- processingActive.decrementAndGet();
- timeMetric.stopAndPublish();
}
}
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java
index eaeee96..1699174 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java
@@ -94,11 +94,10 @@ public class DeliveryRunnable implements Disposable {
private Mono<Void> runStep(MailQueue.MailQueueItem queueItem) {
TimeMetric timeMetric = metricFactory.timer(REMOTE_DELIVERY_TRIAL);
try {
- return processMail(queueItem);
+ return processMail(queueItem)
+ .doOnSuccess(any -> timeMetric.stopAndPublish());
} catch (Throwable e) {
return Mono.error(e);
- } finally {
- timeMetric.stopAndPublish();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org