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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
