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

apupier pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new ca1ecfed84f6 Fix flakiness of Elasticsearch tests
ca1ecfed84f6 is described below

commit ca1ecfed84f6678e19bace340f6c2eb3b5426a83
Author: AurĂ©lien Pupier <[email protected]>
AuthorDate: Fri Jul 10 15:21:21 2026 +0200

    Fix flakiness of Elasticsearch tests
    
    the client requires a small moment to be ready to accept requests. There
    were this kind of error on the flaky tests:
    
    ```
    Caused by:
    co.elastic.clients.elasticsearch._types.ElasticsearchException:
    [es/index] failed: [security_exception] unable to authenticate user
    [elastic] for REST request [/size-limit/_doc?wait_for_active_shards=1]
            at 
co.elastic.clients.transport.ElasticsearchTransportBase.getApiResponse(ElasticsearchTransportBase.java:374)
            at 
co.elastic.clients.transport.ElasticsearchTransportBase.lambda$performRequestAsync$0(ElasticsearchTransportBase.java:221)
            at 
java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934)
            at 
java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:911)
            at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
            at 
java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
            at 
co.elastic.clients.transport.rest_client.RestClientHttpClient$1.onSuccess(RestClientHttpClient.java:116)
            at 
org.elasticsearch.client.RestClient$FailureTrackingResponseListener.onSuccess(RestClient.java:680)
            at 
org.elasticsearch.client.RestClient$1.completed(RestClient.java:403)
            at 
org.elasticsearch.client.RestClient$1.completed(RestClient.java:397)
            at 
org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:122)
            at 
org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:182)
            at 
org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:448)
            at 
org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:338)
            at 
org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
            at 
org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:87)
            at 
org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:40)
            at 
org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:121)
            at 
org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
            at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
            at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
            at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
            at 
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
            at 
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)
            at java.lang.Thread.run(Thread.java:1583)
    ```
    
    Signed-off-by: AurĂ©lien Pupier <[email protected]>
---
 .../camel/component/es/integration/ElasticsearchTestSupport.java | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git 
a/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java
 
b/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java
index ab0eb7388053..737b264505e7 100644
--- 
a/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java
+++ 
b/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java
@@ -41,6 +41,8 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.awaitility.Awaitility.await;
+
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ElasticsearchTestSupport extends CamelTestSupport {
 
@@ -76,6 +78,13 @@ public class ElasticsearchTestSupport extends 
CamelTestSupport {
                 });
         restClient = builder.build();
         client = new ElasticsearchClient(new RestClientTransport(restClient, 
new JacksonJsonpMapper()));
+        await("Elasticsearch client is not ready").until(() -> {
+            try {
+                return client.ping().value();
+            } catch (Exception e) {
+                return false;
+            }
+        });
     }
 
     @Override

Reply via email to