-
Notifications
You must be signed in to change notification settings - Fork 49
Description
Describe the bug
geo2ip processed log events are tagged with source.geo.error: ip2geo_data_expired. Checking the state of one of the data sources show that updating has failed for some time:
# GET /_plugins/geospatial/ip2geo/datasource/city-datasource
{
"datasources": [
{
"name": "city-datasource",
"state": "AVAILABLE",
"endpoint": "https://geoip.maps.opensearch.org/v1/geolite2-city/manifest.json",
"update_interval_in_days": 3,
"next_update_at_in_epoch_millis": 1761551548911,
"database": {
"provider": "maxmind",
"sha256_hash": "7xh3reRaDjT8HyQ/Up5+QWu3eC0NHRKAvttfmNwNeTM=",
"updated_at_in_epoch_millis": 1758636974000,
"valid_for_in_days": 30,
"fields": [
"country_iso_code",
"country_name",
"continent_name",
"region_iso_code",
"region_name",
"city_name",
"time_zone",
"location"
]
},
"update_stats": {
"last_succeeded_at_in_epoch_millis": 1758700716603,
"last_processing_time_in_millis": 366704,
"last_failed_at_in_epoch_millis": 1761292895482,
"last_skipped_at_in_epoch_millis": 1757404349787
}
}
]
}
Note: The last_succeeded_at_in_epoch_millis timestamp is 30 days ago:
# LC_ALL=C date --date=@1758700716
Wed Sep 24 09:58:36 CEST 2025
Trying to update the definition as per https://docs.opensearch.org/latest/ingest-pipelines/processors/ip2geo/#updating-an-ip2geo-data-source (quoting the URL) fails with the following output:
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "datasource will expire at 2025-10-24T07:58:36.603Z with the update interval"
}
],
"type": "illegal_argument_exception",
"reason": "datasource will expire at 2025-10-24T07:58:36.603Z with the update interval"
},
"status": 400
}
Note: The date 2025-10-24 was three days ago.
Checking the URL manually with curl (curl -o - https://geoip.maps.opensearch.org/v1/geolite2-country/manifest.json) gives a Cloudfront error:
Request blocked.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.
Note: I've tried from various ISPs and networks and the exact same error occurs.
Related component
Plugins
To Reproduce
curl -o - https://geoip.maps.opensearch.org/v1/geolite2-country/manifest.json
Expected behavior
I expect the ip2geo data sources to work.
Additional Details
Plugins
# /usr/share/opensearch/bin/opensearch-plugin list
opensearch-alerting
opensearch-anomaly-detection
opensearch-asynchronous-search
opensearch-cross-cluster-replication
opensearch-custom-codecs
opensearch-flow-framework
opensearch-geospatial
opensearch-index-management
opensearch-job-scheduler
opensearch-knn
opensearch-ltr
opensearch-ml
opensearch-neural-search
opensearch-notifications
opensearch-notifications-core
opensearch-observability
opensearch-performance-analyzer
opensearch-reports-scheduler
opensearch-search-relevance
opensearch-security
opensearch-security-analytics
opensearch-skills
opensearch-sql
opensearch-system-templates
opensearch-ubi
prometheus-exporter
query-insights
Host/Environment (please complete the following information):
- OS: Ubuntu
- Version 22.04.5 LTS
Additional context
- OpenSearch v3.3.1 from apt repo