This is an automated email from the ASF dual-hosted git repository.

shuber pushed a commit to branch unomi-3-dev
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit 5d3c1857467fa415f6603d9caba7f752fbb3c9bb
Author: Jérôme Blanchard <[email protected]>
AuthorDate: Tue Dec 30 17:19:23 2025 +0100

    test: fix list sort to avoid concurrent modification exception
---
 .../main/java/org/apache/unomi/healthcheck/HealthCheckService.java  | 6 ++++--
 .../org/apache/unomi/healthcheck/servlet/HealthCheckServlet.java    | 2 --
 itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java     | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/HealthCheckService.java
 
b/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/HealthCheckService.java
index 41bdb9135..b151d04f8 100644
--- 
a/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/HealthCheckService.java
+++ 
b/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/HealthCheckService.java
@@ -27,6 +27,7 @@ import org.slf4j.LoggerFactory;
 
 import javax.servlet.ServletException;
 import java.util.*;
+import java.util.Comparator;
 import java.util.concurrent.*;
 
 import static org.apache.unomi.healthcheck.HealthCheckConfig.CONFIG_AUTH_REALM;
@@ -119,7 +120,7 @@ public class HealthCheckService {
 
     public List<HealthCheckResponse> check() {
         if (config == null || !config.isEnabled()) {
-            LOGGER.info("Healthcheck service is disabled");
+            LOGGER.warn("Healthcheck service is disabled");
             return Collections.emptyList();
         }
         if (!initialized) {
@@ -165,7 +166,8 @@ public class HealthCheckService {
                     health.add(provider.timeout());
                 }
             }
-            healthCache = health;
+            health.sort(Comparator.comparing(HealthCheckResponse::getName));
+            healthCache = List.copyOf(health);
             cacheTimestamp = System.currentTimeMillis();
         } catch (Exception e) {
             LOGGER.error("Error refreshing health cache", e);
diff --git 
a/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/servlet/HealthCheckServlet.java
 
b/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/servlet/HealthCheckServlet.java
index 27dec31d4..b25deb56c 100644
--- 
a/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/servlet/HealthCheckServlet.java
+++ 
b/extensions/healthcheck/src/main/java/org/apache/unomi/healthcheck/servlet/HealthCheckServlet.java
@@ -32,7 +32,6 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.Comparator;
 import java.util.List;
 
 /**
@@ -66,7 +65,6 @@ public class HealthCheckServlet extends HttpServlet {
             return;
         }
         List<HealthCheckResponse> checks = service.check();
-        checks.sort(Comparator.comparing(HealthCheckResponse::getName));
         response.getWriter().println(mapper.writeValueAsString(checks));
         response.setContentType("application/json");
         response.setHeader("Cache-Control", "no-cache");
diff --git a/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java 
b/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java
index fcf4551ef..3fcace0bf 100644
--- a/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/HealthCheckIT.java
@@ -102,7 +102,7 @@ public class HealthCheckIT extends BaseIT {
         } finally {
             if ( executorService != null ) {
                 executorService.shutdownNow();
-                }
+            }
         }
     }
 

Reply via email to