OpenSearch/x-pack
Yannick Welsch 9638ca20b0 Allow dropping documents with auto-generated ID (#46773)
When using auto-generated IDs + the ingest drop processor (which looks to be used by filebeat
as well) + coordinating nodes that do not have the ingest processor functionality, this can lead
to a NullPointerException.

The issue is that markCurrentItemAsDropped() is creating an UpdateResponse with no id when
the request contains auto-generated IDs. The response serialization is lenient for our
REST/XContent format (i.e. we will send "id" : null) but the internal transport format (used for
communication between nodes) assumes for this field to be non-null, which means that it can't
be serialized between nodes. Bulk requests with ingest functionality are processed on the
coordinating node if the node has the ingest capability, and only otherwise sent to a different
node. This means that, in order to reproduce this, one needs two nodes, with the coordinating
node not having the ingest functionality.

Closes #46678
2019-09-19 16:46:33 +02:00
..
dev-tools
docs [DOCS] Updates links to reporting content (#46717) 2019-09-13 11:40:07 -07:00
license-tools [Backport] Remove dependency substitutions 7.x (#42866) 2019-06-04 13:50:23 -07:00
plugin Allow dropping documents with auto-generated ID (#46773) 2019-09-19 16:46:33 +02:00
qa [7.x][Transforms] backport BWC tests for transforms crud (#46452) 2019-09-14 13:06:48 +02:00
snapshot-tool Update http-core and http-client dependencies (#46549) 2019-09-12 09:45:29 +02:00
test [Backport] Remove dependency substitutions 7.x (#42866) 2019-06-04 13:50:23 -07:00
transport-client [Backport] Remove dependency substitutions 7.x (#42866) 2019-06-04 13:50:23 -07:00
NOTICE.txt
README.md
build.gradle [Backport] Remove dependency substitutions 7.x (#42866) 2019-06-04 13:50:23 -07:00

README.md

Elastic License Functionality

This directory tree contains files subject to the Elastic License. The files subject to the Elastic License are grouped in this directory to clearly separate them from files licensed under the Apache License 2.0.