Skip to content
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

feat: Support dynamic filters for Right Join #12057

Conversation

xiaodouchen
Copy link
Contributor

@xiaodouchen xiaodouchen commented Jan 10, 2025

Support dynamic filters for right join and this new code flow has been
covered in Join Fuzzer. Note: Right join can not be completely replaced
with a pushed down filter when build side has no dependent columns.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 10, 2025
Copy link

netlify bot commented Jan 10, 2025

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 2943bba
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/67848f3c7fc6800008786c62

Copy link
Contributor

@mbasmanova mbasmanova left a comment

Choose a reason for hiding this comment

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

@xiaodouchen Thank you for adding this optimization. Looks good to me.

Would you update the documentation at https://facebookincubator.github.io/velox/develop/joins.html#dynamic-filter-pushdown ? It currently says "Dynamic filter pushdown optimization is enabled for inner, left semi, and right semi joins."

Would you also check if we get Fuzzer coverage for this new code flow. CC: @kagamiori

@xiaodouchen xiaodouchen force-pushed the xiaodou_right_support_rtf branch from 6b6fb55 to 2943bba Compare January 13, 2025 03:57
@xiaodouchen
Copy link
Contributor Author

@mbasmanova
Thanks for your suggestions.

  1. I have updated the documentation.
  2. This new code flow has been covered in Join Fuzzer.

Dynamic filter pushdown optimization is enabled for inner, left semi, and
right semi joins.
Dynamic filter pushdown optimization is enabled for inner, left semi, right semi
and right joins.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this supported for left join as well? If so, please, update the sentence.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, it can not be supported for left join. Because left join needs to output rows that do not match, if the dynamic filter is pushed down to the scan, it would filter out these rows.

Copy link
Contributor

Choose a reason for hiding this comment

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

Good point. Thank you for clarifying.

@mbasmanova
Copy link
Contributor

This new code flow has been covered in Join Fuzzer.

Nice. Would you mention this in the PR description?

@xiaodouchen
Copy link
Contributor Author

This new code flow has been covered in Join Fuzzer.

Nice. Would you mention this in the PR description?

@mbasmanova Yes, done.

Copy link
Contributor

@mbasmanova mbasmanova left a comment

Choose a reason for hiding this comment

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

@xiaodouchen Thank you!

@mbasmanova mbasmanova added the ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall label Jan 13, 2025
Copy link
Contributor

@xiaoxmeng xiaoxmeng left a comment

Choose a reason for hiding this comment

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

@xiaodouchen thanks for the optimization!

@facebook-github-bot
Copy link
Contributor

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

@facebook-github-bot
Copy link
Contributor

@kagamiori merged this pull request in 76bb570.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants