-
Notifications
You must be signed in to change notification settings - Fork 0
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
Automatically delete corrupt indexes upon detection #10
base: master
Are you sure you want to change the base?
Conversation
I'm trying to think of how this behavior might cause issues. Presumably we trust Lucene (8.1.0?) to accurately throw the But is there any chance we could incidentally feed a non-Lucene index down this code path and wind up with the subspace being cleared? |
There's three concerns;
I think 1) is possible but unlikely and I think we should accept the risk. 2 is also possible and would be a pretty serious bug in search3-erl or fdbcore/couch and it's bound to show up some other way, we can't be coy. The index and whatever is overlapping with it is toast anyway. I'd rather trash some data early in testing / beta than find out later. And 3 is my motivation for the patch. |
Your thoughts make sense to me. I was trying to conjure a scenario where Lucene would not recognize valid indexes as correct. I thought maybe an upgrade could trigger this due to inability to read the indexes (although I imagine the index format is tied to ~major versions for incompatibilities). But it looks like the index version exceptions are now unrelated to There are some references elastic/elasticsearch#28826 to hardware issues possibly surfacing as CIEs but for our purposes the hardware has been abstracted to data stored in FoundationDB, which should either be returning good data or returning well-stored invalid data. We'd see a different class of errors if there were issues with data transport from FDB. IMO a cautious +1 here. |
I have only seen CorruptIndexException in the case where we upgraded the search3-java build and continued indexing in the same subspace given that the subspace is When we build a new index for a new DB, I have yet to see CorruptIndexException. |
Could you provide more detail on the corruption you encountered above? That sounds like something we are doing that could be handled better? |
We would start indexing for a version of search3-java. When we replace the pod with a newer version of search3-java, that's when I would see the CorruptedIndex Exception. If we just keep letting the pod restart over and over then I would not see the corruptedindex exception. |
@tonysun83 that sounds like actual corruption to me. |
No description provided.