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(); - } + } } }
