Andrea Cosentino created CAMEL-26542:
----------------------------------------

             Summary: camel-elasticsearch - the converter to 
SearchRequest.Builder builds a builder body and returns the used builder
                 Key: CAMEL-26542
                 URL: https://issues.apache.org/jira/browse/CAMEL-26542
             Project: Camel
          Issue Type: Bug
          Components: camel-elasticsearch
            Reporter: Andrea Cosentino


Follow-up of CAMEL-26232 ([PR 
#29074|https://github.com/apache/camel/pull/29074]), raised in its review.

{{ElasticsearchActionRequestConverter.toSearchRequestBuilder}} (main 
8bd7c2ed53b7, lines 224-228) takes a {{SearchRequest.Builder}} as it is: it 
calls {{searchReqBuilder.build()}} to see whether an index is set, sets the 
index header on the same builder when none is, and returns that builder. A 
builder of the Elasticsearch Java client can be built only once, so a later 
{{build()}} of the returned builder fails with {{IllegalStateException}} 
("Object builders can only be used once").

The branch is reached only when the method is called directly: the type 
converter returns a body that already is a {{SearchRequest.Builder}} as it is, 
and the producer reads a builder body without the converter. So no route hits 
it today.

Proposed: check the index without building the builder (or drop the branch), 
and add a test that builds the builder the method returns.

_Claude Code on behalf of Andrea Cosentino (oscerd)_



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to