Description
Elasticsearch Version
8.13.0-SNAPSHOT
Installed Plugins
No response
Java Version
18
OS Version
Linux (Docker)
Problem Description
The geoip ingest processor adds a _geoip_database_unavailable_*
tag field to documents when the database cannot be downloaded, even if the source field does not exist and ignore_missing
is set.
Steps to Reproduce
- Run Elasticsearch with
ingest.geoip.downloader.enabled=false
- Execute the following request in the console:
POST /_ingest/pipeline/_simulate
{
"pipeline": {
"processors": [
{
"geoip": {
"field": "client.ip",
"target_field": "client.geo",
"ignore_missing": true
}
}
]
},
"docs": [
{
"_index": "index",
"_source": {}
},
{
"_index": "index",
"_source": {"client": {"ip": "8.8.8.8"}}
}
]
}
This produces:
{
"docs" : [
{
"doc" : {
"_index" : "index",
"_id" : "_id",
"_source" : {
"tags" : [
"_geoip_database_unavailable_GeoLite2-City.mmdb"
]
},
"_ingest" : {
"timestamp" : "2022-06-03T02:33:16.49692803Z"
}
}
},
{
"doc" : {
"_index" : "index",
"_id" : "_id",
"_source" : {
"client" : {
"ip" : "8.8.8.8"
},
"tags" : [
"_geoip_database_unavailable_GeoLite2-City.mmdb"
]
},
"_ingest" : {
"timestamp" : "2022-06-03T02:33:16.496934873Z"
}
}
}
]
}
I would expect only the second document to have the tag added.
Logs (if relevant)
No response