Bug in bulk requests with mix of requests with and without pipelines #60437
Labels
>bug
:Data Management/Ingest Node
Execution or management of Ingest Pipelines including GeoIP
Team:Data Management
Meta label for data/management team
Elasticsearch version: 7.8
Plugins: N/A
OS: Red Hat 8
Posted on discussion forums: https://discuss.elastic.co/t/bug-in-bulk-requests-with-mix-of-requests-with-and-without-pipelines/242973
This bug exists in Elasticsearch 7.8. I know it doesn't exist in 6.8 but I haven't looked at all the in-between versions.
If I put together a bulk request with a mix of indexing requests with some that call an ingest pipeline and some that don't then there exists a problem if either the pipeline fails or the pipeline contains a drop processor. The handling of the request plays around with the wrong "slot" number in the bulk request / response as it counts only requests with pipelines to figure out that "slot" for the callback in the "executeBulkRequest" method of "IngestService". This results in the wrong items being marked as failed or dropped. I haven't played with failures so much so that needs verifying but here are some steps to reproduce for the drop processor.
My bulk request...
The response...
And if you search the index it contains the wrong document...
I believe the fix should be relatively simple in IngestService but maybe I'm missing something.
The text was updated successfully, but these errors were encountered: