From 932b2b2bda4cc6e515dac84c55963a565cfd6f71 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 25 Mar 2026 18:12:32 +0100 Subject: [PATCH 1/2] CAMEL-23253: Fix flaky Infinispan Hot Rod connection timeout in tests Co-Authored-By: Claude Opus 4.6 --- .../LangChain4jEmbeddingsComponentInfinispanTargetIT.java | 2 ++ .../infinispan/remote/InfinispanRemoteTestSupport.java | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java b/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java index d202ffecc15e6..100f3e478d149 100644 --- a/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java +++ b/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java @@ -251,6 +251,8 @@ private ConfigurationBuilder getConfiguration() { clientBuilder.addServer() .host(service.host()) .port(service.port()); + clientBuilder.socketTimeout(15000) + .connectionTimeout(15000); clientBuilder.security() .authentication() diff --git a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java index f2912d1e16aed..6e4a152765c3f 100644 --- a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java +++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteTestSupport.java @@ -119,6 +119,10 @@ protected ConfigurationBuilder getConfiguration() { .host(service.host()) .port(service.port()); + clientBuilder + .socketTimeout(15000) + .connectionTimeout(15000); + // add security info clientBuilder .security() From 57005319800ed01434711cf75238fc1b2d9ee5ee Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 25 Mar 2026 18:51:04 +0100 Subject: [PATCH 2/2] CAMEL-23253: Wait for protobuf metadata cache readiness before starting routes The ___protobuf_metadata internal cache may not be ready when the custom cache creation succeeds. This causes FailedToStartRouteException with ISPN005066. Also increase retry budget (2s interval, 15 iterations) for slow CI. Co-Authored-By: Claude Opus 4.6 --- .../LangChain4jEmbeddingsComponentInfinispanTargetIT.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java b/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java index 100f3e478d149..b6590698c992c 100644 --- a/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java +++ b/components/camel-ai/camel-langchain4j-embeddings/src/test/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsComponentInfinispanTargetIT.java @@ -206,7 +206,7 @@ protected void setupResources() throws Exception { if (cacheContainer == null) { cacheContainer = getCacheContainer(); final IterationBoundedBudget budget - = Budgets.iterationBudget().withInterval(Duration.ofSeconds(1)).withMaxIterations(10).build(); + = Budgets.iterationBudget().withInterval(Duration.ofSeconds(2)).withMaxIterations(15).build(); final ForegroundTask task = Tasks.foregroundTask() .withBudget(budget).build(); @@ -226,6 +226,9 @@ private RemoteCacheManager getCacheContainer() { private boolean createCache() { try { getOrCreateCache(); + // Verify the protobuf metadata cache is also ready, as the Infinispan + // component needs it when the route starts + cacheContainer.getCache("___protobuf_metadata"); return true; } catch (Exception e) { return false;