BulkIngester index operation does not propagate pipeline if defined

I am using the BulkIngester utility in the Java API to stream index request to Elasticsearch.

Consider the following snippet of code:

bulkIngester.add(o -> o.index(i -> i
    .pipeline(pipeline)
    .index(index)
    .id(ingestMessage.getId())
    .document(ingestMessage.getDoc())));

where pipeline is defined and corrsponds to an existing ingest pipeline.

Upon execution the documents don't go through the ingest pipeline.

The equivalent REST API request works as expected though:

POST _bulk
{ "index" : { "_index" : "test", "_id" : "1", "pipeline": "my-pipeline" } }
{ "title": "Test 1", "body": "test" }

I believe this is a bug, but before I submit a report, maybe someone already ran into this issue?

It has been fixed in Add pipeline setup to index and create operations by renatogm24 · Pull Request #587 · elastic/elasticsearch-java · GitHub and is part of version 8.9.0 that should be released in the coming days.

Wow that's quite worrysome to have such a bug in an API supposed to be production-ready...

Thanks for the reply though :wink:

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.