-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Receiving status code 500 on pipeline failures for bulk ingestion requests #48803
Comments
Ultimately the problem here is broader than ingest pipelines, it relates to the fact that we are not unwrapping causes for ElasticsearchExceptions: elasticsearch/server/src/main/java/org/elasticsearch/ExceptionsHelper.java Lines 82 to 100 in ff9e8c6
Because of this, when reporting the status of a document-level failure while executing a bulk request, we fall back to the default status of an |
Pinging @elastic/es-core-features (:Core/Features/Ingest) |
Elasticsearch version (
bin/elasticsearch --version
): 7.4.0 (also confirmed with 7.0.0)Plugins installed: []
JVM version (
java -version
): openjdk 13OS version (
uname -a
if on a Unix-like system): macDescription of the problem including expected versus actual behavior:
Elasticsearch returns status code
500
for events sent to the bulk API when an applied pipeline fails processing an event, and has no failure handling (ignore_failure
oron_failure
) defined for the pipeline.I would except a status code
4xx
as the processing fails based on invalid data, and not based on a server issue.Steps to reproduce:
(0) Create some pipeline, with no failure handling, in this example the geo-ip pipeline:
(1) Ingest data using the bulk API and applying the pipeline
The ingestion fails, as the registered pipeline expects the
client.ip
to be an IP address, but instead a random string is sent.Response:
The text was updated successfully, but these errors were encountered: