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 13435084c8f6bb12e46fcb5e1dfc7702d9b5ab08
Author: Benoit Tellier <[email protected]>
AuthorDate: Thu Jul 15 11:39:45 2021 +0700

    [PERFORMANCE] Record SetMessagesProcessor metrics if executed
    
    Otherwise we record zeros that false the overall analysis
---
 .../java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java     | 3 +++
 .../apache/james/jmap/draft/methods/SetMessagesCreationProcessor.java  | 3 +++
 .../james/jmap/draft/methods/SetMessagesDestructionProcessor.java      | 3 +++
 3 files changed, 9 insertions(+)

diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
index f1e450e..030a577 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SendMDNProcessor.java
@@ -79,6 +79,9 @@ public class SendMDNProcessor implements SetMessagesProcessor 
{
 
     @Override
     public SetMessagesResponse process(SetMessagesRequest request, 
MailboxSession mailboxSession) {
+        if (request.getSendMDN().isEmpty()) {
+            return SetMessagesResponse.builder().build();
+        }
         return metricFactory.decorateSupplierWithTimerMetric(JMAP_PREFIX + 
"SendMDN",
             () -> handleMDNCreation(request, mailboxSession));
     }
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesCreationProcessor.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesCreationProcessor.java
index 4843bae..2aa38d7 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesCreationProcessor.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesCreationProcessor.java
@@ -116,6 +116,9 @@ public class SetMessagesCreationProcessor implements 
SetMessagesProcessor {
 
     @Override
     public Mono<SetMessagesResponse> processReactive(SetMessagesRequest 
request, MailboxSession mailboxSession) {
+        if (request.getCreate().isEmpty()) {
+            return Mono.just(SetMessagesResponse.builder().build());
+        }
         return 
Mono.from(metricFactory.decoratePublisherWithTimerMetric(JMAP_PREFIX + 
"SetMessageCreationProcessor",
             Flux.fromIterable(request.getCreate())
                 .flatMap(create -> handleCreate(create, mailboxSession))
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesDestructionProcessor.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesDestructionProcessor.java
index c650a30..6c5976b 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesDestructionProcessor.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesDestructionProcessor.java
@@ -57,6 +57,9 @@ public class SetMessagesDestructionProcessor implements 
SetMessagesProcessor {
 
     @Override
     public Mono<SetMessagesResponse> processReactive(SetMessagesRequest 
request, MailboxSession mailboxSession) {
+        if (request.getDestroy().isEmpty()) {
+            return Mono.just(SetMessagesResponse.builder().build());
+        }
         return 
Mono.from(metricFactory.decoratePublisherWithTimerMetric(JMAP_PREFIX + 
"SetMessageDestructionProcessor",
             delete(request.getDestroy(), mailboxSession)));
     }

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to