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