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/12 09:03:51 UTC

[james-project] branch master updated: JAMES-3784 EmptyErrorMailRepositoryHealthCheck: Wrap blocking calls (#1122)

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


The following commit(s) were added to refs/heads/master by this push:
     new 56e8e1e59b JAMES-3784 EmptyErrorMailRepositoryHealthCheck: Wrap blocking calls (#1122)
56e8e1e59b is described below

commit 56e8e1e59b6a81df635b988b19b22cb27d0e3e08
Author: Benoit TELLIER <bt...@linagora.com>
AuthorDate: Fri Aug 12 16:03:46 2022 +0700

    JAMES-3784 EmptyErrorMailRepositoryHealthCheck: Wrap blocking calls (#1122)
---
 .../mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java  | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java b/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java
index f699a25bbf..235fa3e116 100644
--- a/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java
+++ b/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java
@@ -23,8 +23,7 @@ import org.apache.james.core.healthcheck.ComponentName;
 import org.apache.james.core.healthcheck.HealthCheck;
 import org.apache.james.core.healthcheck.Result;
 import org.apache.james.util.FunctionalUtils;
-
-import com.github.fge.lambdas.Throwing;
+import org.apache.james.util.ReactorUtils;
 
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
@@ -46,11 +45,13 @@ public class EmptyErrorMailRepositoryHealthCheck implements HealthCheck {
 
     @Override
     public Mono<Result> check() {
-        return Flux.fromStream(Throwing.supplier(() -> repositoryStore.getByPath(errorRepositoryPath)))
+        return Mono.fromCallable(() -> repositoryStore.getByPath(errorRepositoryPath))
+            .flatMapMany(Flux::fromStream)
             .flatMap(MailRepository::sizeReactive)
             .any(repositorySize -> repositorySize > 0)
             .filter(FunctionalUtils.identityPredicate())
             .map(hasSize -> Result.degraded(COMPONENT_NAME, "MailRepository is not empty"))
-            .switchIfEmpty(Mono.just(Result.healthy(COMPONENT_NAME)));
+            .switchIfEmpty(Mono.just(Result.healthy(COMPONENT_NAME)))
+            .subscribeOn(ReactorUtils.BLOCKING_CALL_WRAPPER);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org