-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
BlockJoinBulkScorer could check for parent deletions (not children) #14067
base: main
Are you sure you want to change the base?
Conversation
This change ensures that BlockJoinBulkScorer verifies deletions at the parent level.
Block-joins require deletes to be consistent across parent and child documents. So I wouldn't call it a bug, the implementation should be free to check deletes on child documents or parent documents depending on whichever is more convenient/efficient. |
This seems a little fragile, and place where bugs could hide. I wonder if we should assert this constraint, which would at least catch some of these potential issue usage issues, while not hurt run time performance (too much). |
Indeed. We have a few such assertions already, e.g. to check that docs returned by the child query don't match the parent bitset. Adding a few more would be good if it can be done in a reasonable fashion (e.g. not forcing nextDoc() / advance() to be called just for the sake of validation). The block-join module also has lucene/lucene/join/src/java/org/apache/lucene/search/join/CheckJoinIndex.java Lines 63 to 84 in a8d8d6b
|
This PR has not had activity in the past 2 weeks, labeling it as stale. If the PR is waiting for review, notify the [email protected] list. Thank you for your contribution! |
This change ensures that BlockJoinBulkScorer verifies deletions at the parent level.