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

[native] Add native dynamic filter stats to operator stats for hbo #22734

Merged
merged 1 commit into from
May 16, 2024

Conversation

xiaoxmeng
Copy link
Contributor

@xiaoxmeng xiaoxmeng commented May 13, 2024

Exports the dynamic filter stats from native worker to coordinator:

  1. add DynamicFilterStats in OperatorStats and update presto protocol.
  2. Presto task collects the dynamic filter stats from velox.

@xiaoxmeng xiaoxmeng requested review from steveburnett and a team as code owners May 13, 2024 23:37
@xiaoxmeng xiaoxmeng requested a review from presto-oss May 13, 2024 23:37
@steveburnett
Copy link
Contributor

I don't see documentation for me to review, perhaps I don't need to review this. Let me know if there's something I can help with! The description is empty, does this PR need a release note entry?

@xiaoxmeng xiaoxmeng changed the title [WIP][native]hbo support [native]Add native dynamic filter stats to operator stats for hbo May 14, 2024
@xiaoxmeng
Copy link
Contributor Author

I don't see documentation for me to review, perhaps I don't need to review this. Let me know if there's something I can help with! The description is empty, does this PR need a release note entry?

@steveburnett Hi, the pr description is updated.

@ThriftStruct
public class DynamicFilterStats
{
private final Set<PlanNodeId> producerNodeIds;
Copy link
Contributor

Choose a reason for hiding this comment

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

These PlanNodeIds will be the PlanNodeId of the joins which has dynamic filter pushdown?
How do we know which nodes these filters are pushed down to?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

DynamicFilterStats is set in operator stats of those nodes that has dynamic filters.

Copy link
Contributor

Choose a reason for hiding this comment

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

For example, if we have a query plan like:
join <- (probe side) project <- filter <- scan
where the dynamic filter pushdown is enabled, we should have project, filter and scan all in the producerNodeIds, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

Synced offline, the plan node ids will be the where the dynamic filter is from, which is the join node in the example I showed above.

feilong-liu
feilong-liu previously approved these changes May 15, 2024
Copy link
Contributor

@feilong-liu feilong-liu left a comment

Choose a reason for hiding this comment

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

Thanks for the change!

tanjialiang
tanjialiang previously approved these changes May 16, 2024
Copy link
Contributor

@tanjialiang tanjialiang left a comment

Choose a reason for hiding this comment

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

Thanks %minor

presto-native-execution/presto_cpp/main/PrestoTask.cpp Outdated Show resolved Hide resolved
Exports the dynamic filter stats from native worker to coordinator:

add DynamicFilterStats in OperatorStats and update presto protocol.
Presto task collects the dynamic filter stats from velox.
@NikhilCollooru NikhilCollooru merged commit 5240412 into prestodb:master May 16, 2024
59 checks passed
@xiaoxmeng xiaoxmeng deleted the hbo branch May 16, 2024 17:33
@amitkdutta amitkdutta changed the title [native]Add native dynamic filter stats to operator stats for hbo [native] Add native dynamic filter stats to operator stats for hbo May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants