Skip to content

Fix the bloom filter true positive stat in async MultiGet#11500

Open
anand1976 wants to merge 1 commit into
facebook:mainfrom
anand1976:fix_filter_stat
Open

Fix the bloom filter true positive stat in async MultiGet#11500
anand1976 wants to merge 1 commit into
facebook:mainfrom
anand1976:fix_filter_stat

Conversation

@anand1976

Copy link
Copy Markdown
Contributor

This stat was broken for the async IO flavor of MultiGet after #10432. Now, we pass a flag to the TableReader MultiGet to indicate whether filter lookup was already done or not. If the flag is true, then the stat is updated.

@facebook-github-bot

Copy link
Copy Markdown
Contributor

@anand1976 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@pdillinger pdillinger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is difficult to follow, as nothing seems to reliably mean quite what it's supposed to mean. E.g. somehow skip_range_deletions works for the filter_matched parameter (I found why in version_set.cc), except it might need to be fixed up in some cases.

How about enum FilteringResponsibility { kCallerFilter, kSkipFilter, kCalleeFilter } to replace the two boolean parameters. The final if condition would be matched && (filter != null || (filtering_responsibility == kCallerFilter && rep_->filter)) or equivalently (better) matched && filtering_responsibility != kSkipFilter && rep_->filter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants