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
Fix application of docid killlists from other indexes. #1660
Conversation
The direction of indexes in ApplyKillListsTo is swapped in case of docid killists - they are accidentally applied from target to source, not from source to target. This fix corrects that.
Thanks for the PR! We'll review it. |
@raxoft How do I reproduce this? The most basic example doesn't reveal the issue:
|
Following the example above, try rebuilding the index main with It becomes even more apparent if you add a third index, which can target either delta or both delta and main. Just try rotating each of the indexes in turn and see how the killlists are applied incorrectly. (In addition to the tests, it's also apparent from the source that the parameter passed to |
I'm not sure how to do it. @raxoft can you please modify my example, so we can see the issue clearly? We'll need it for the test, too. |
Sorry for late response. Yes, I will try to prepare one next week. |
OK, here is an example setup which messes up the other index than the rotated one:
Like in your example above, build all indexes, then run The example might be reduced to two indexes perhaps, I guess, but this is the setup I had, so I went with that. Hope this helps. |
maybe worth to add ubertest to make sure the behavior will not change in the future? |
I've created a separate task about it #1691 |
BTW, on a related note - I have noticed that after merging two indexes with indexer and using the --rotate option, it seems that only killlist applied is if one of those indexes targets the other. No other killlists from other indices seem to be applied. Is there some intentional reason behind this logic, or is it another bug related to indexes? |
@raxoft can you please create a separate issue with a minimal reproducible example about it? It looks like a bug at first glance, but we'd need to check deeper. |
Type of Change (select one):
Description of the Change:
The direction of indexes in ApplyKillListsTo is swapped in case of docid killists - they are accidentally applied from target to source, not from source to target. So it has never worked properly, the docid killlists completely messed up other indexes. This fix corrects that.
Related Issue (provide the link):
None.