-
Notifications
You must be signed in to change notification settings - Fork 3.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
Add new scheduler supporting multiple table scans within one stage #17265
Merged
sopel39
merged 2 commits into
trinodb:master
from
radek-kondziolka:rk/union_in_source_stage_one_catalog
May 9, 2023
Merged
Add new scheduler supporting multiple table scans within one stage #17265
sopel39
merged 2 commits into
trinodb:master
from
radek-kondziolka:rk/union_in_source_stage_one_catalog
May 9, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
c005dfb
to
64c5403
Compare
sopel39
approved these changes
Apr 27, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm % comments
core/trino-main/src/main/java/io/trino/sql/planner/FragmentTableScanCounter.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/FragmentTableScanCounter.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/FragmentTableScanCounter.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/sql/planner/optimizations/TestAddExchangesPlans.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/sql/planner/optimizations/TestAddExchangesPlans.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/sql/planner/optimizations/TestAddExchangesPlans.java
Show resolved
Hide resolved
testing/trino-tests/src/test/java/io/trino/tests/TestUnionQueries.java
Outdated
Show resolved
Hide resolved
sopel39
reviewed
Apr 27, 2023
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Outdated
Show resolved
Hide resolved
64c5403
to
4193651
Compare
@sopel39 , comments addressed. |
sopel39
approved these changes
Apr 28, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm % comments
core/trino-main/src/main/java/io/trino/sql/planner/FragmentTableScanCounter.java
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/FragmentTableScanCounter.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/sql/planner/optimizations/TestAddExchangesPlans.java
Show resolved
Hide resolved
4193651
to
f6519e0
Compare
sopel39
approved these changes
May 5, 2023
core/trino-main/src/main/java/io/trino/execution/scheduler/PipelinedQueryScheduler.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/FragmentTableScanCounter.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/optimizations/AddExchanges.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/sql/planner/optimizations/TestAddExchangesPlans.java
Show resolved
Hide resolved
The new scheduler MultiSourcePartitionedScheduler was added. This scheduler make it possible to run multiple source partitioned table scans within one stage. The planner rule AddExchanges was changed for UNION to avoid not necessary reshuffling data between nodes - it will place source partitioned table scans witin one stage where it is possible. This kind of stage is scheduled by MultiSourcePartitionedScheduler.
f6519e0
to
9d967ed
Compare
sopel39
approved these changes
May 8, 2023
9d967ed
to
2b4d69b
Compare
2b4d69b
to
1c512d5
Compare
One test is failing but it is annotated as flaky here: #16933 |
Closed
Failed due to #16933 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a new scheduler
MultiSourcePartitionedScheduler
that make it possible to run multiple source partitioned table scans within one stage. SomeUNION
queries can take advantage from that, for example:tpcds/q02, [orc, unpart, sf1000], before / after:
tpcds/q05, [orc, unpart, sf1000], before / after:
Benchmark results: benchmarks.pdf
Release notes
( ) This is not user-visible or docs only and no release notes are required.
(*) Release notes are required, please propose a release note for me.
( ) Release notes are required, with the following suggested text: