apache / apache/datafusion

Pushing down HashJoinExec build side dynamic filters makes tpch queries slower

Open
#19,858 7 comments 2 reactions 1 assignee Claimed by @adriangb View on GitHub
bug
Dominant language
Rust
Stars
9.3k
Forks
2.4k
Avg merge
3d 7h
Merged PRs (30d)
344

Description

### Describe the bug

Seen / discussed in:

https://github.com/apache/datafusion/pull/19639
https://github.com/apache/datafusion/issues/3463

We need to nail down what is slow:
1. Creating the expressions?
2. Evaluating them?

If (2), what's the solution?
- Is our approach to filter pushdown fundamentally flawed because it changes the parallelism or batch sizes at which the filter is applied? Could we do something to make the expression more efficient, like put the min/max evaluation outside of the hashes?
- Is it just because the hashes are being evaluated more times?
- Is it less of a problem on a larger dataset?

### To Reproduce

_No response_

### Expected behavior

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.