-
Notifications
You must be signed in to change notification settings - Fork 24.7k
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
GeoIP Ingest plugin should be not break with feature migration #85756
Comments
Pinging @elastic/es-data-management (Team:Data Management) |
Pinging @elastic/es-core-infra (Team:Core/Infra) |
This would be my preference, unless there's a reason I'm unaware of why this is difficult. Having to always have a concrete index at that name makes life very difficult given the lack of ability to rename indices, to the degree that we have considered requiring system indices to be behind aliases (and I still think that would be a good idea, even if we haven't done so yet). |
+1 to making the geoip downloader handle the case where the index is an alias without any problems. |
I opened a case with Elastic Cloud support about a different impact of this issue. Our cluster ended up with a ".geoip_databases-reindexed-for-8" index, and this breaks both "Index Management" and the "Indices" view under Stack Monitoring in Kibana. Kibana shows errors like:
I tried creating a special role and user which could delete restricted indices, so I could delete the index - but even this special user wasn't able to delete the problematic index. |
Bug
It is possible for a system feature migration to break the geoip-ingest plugin on a cluster that has been upgraded from 7.17 to 8.x. The system features migration will reindex the
.geoip_databases
index into a new index called.geoip_databases-reindexed-for-8
, then delete the original.geoip_databases
index and replace it with an alias. The plugin is written to expect.geoip_databases
to be a concrete index, so it fails to reload its database, and geoip ingest processors stop working.We need to fix the code so that running a system feature migration doesn't create this problem.
Reproducing
Steps to reproduce:
Here are some curl commands I used on my local, single-node cluster:
Expand for details
Workaround
The only fix I know of is to restore a geoip feature state from a snapshot taken before the system feature migration:
It doesn't really matter how old the snapshot is, because once the plugin is restored to a good state, it can update the geoip index.
Open questions
What approach should we take to fix this?
.geoip_databases
index doesn't contain any user data. We could just "migrate" it by deleting it and recreating it. This kind of fix would be the responsibility of the core-infra team..geoip_databases
is an alias, not a concrete index. This doesn't seem like something the plugin needs intrinsically, but it might be easier to do than changing the migration code.We should also look at giving users a more convenient way to reset the state of the geoip-ingest plugin. #70426 would have been really useful to have for this bug.
cc @dakrone, @gwbrown, @joegallo
The text was updated successfully, but these errors were encountered: