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
Send dynamic filters from coordinator to workers #5183
Conversation
presto-main/src/main/java/io/prestosql/server/remotetask/HttpRemoteTask.java
Outdated
Show resolved
Hide resolved
82aa582
to
ae8b3e6
Compare
ae8b3e6
to
49f8dd7
Compare
abd7dff
to
2dbdbb5
Compare
51bd66f
to
d422648
Compare
core/trino-main/src/main/java/io/trino/server/TaskUpdateRequest.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/execution/RemoteTaskFactory.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/execution/SqlStageExecution.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/execution/scheduler/SqlQueryScheduler.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/operator/TaskContext.java
Outdated
Show resolved
Hide resolved
This also requires:
Regarding #5183 (comment), I'm leaning towards sending DF updates via |
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Outdated
Show resolved
Hide resolved
f0bafbd
to
3e230b9
Compare
1f1651f
to
0d122bd
Compare
core/trino-main/src/main/java/io/trino/SystemSessionProperties.java
Outdated
Show resolved
Hide resolved
@@ -167,6 +174,12 @@ private SqlStageExecution( | |||
} | |||
} | |||
this.exchangeSources = fragmentToExchangeSource.build(); | |||
if (distributeDynamicFilters) { |
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.
Don't we need to check if DF are enabled in general too?
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.
If DF is disabled, then the plan won't have any DFs and getOutboundDynamicFilters
should come back empty
core/trino-main/src/main/java/io/trino/operator/TaskContext.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/LocalExecutionPlanner.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/server/DynamicFilterService.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/server/DynamicFilterService.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/server/DynamicFilterService.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/LocalExecutionPlanner.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/sql/planner/LocalExecutionPlanner.java
Show resolved
Hide resolved
f9c5234
to
37b451c
Compare
@@ -520,7 +520,8 @@ private synchronized void sendUpdate() | |||
} |
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.
nit: would it be possible to add test to TestHttpRemoteTask
?
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.
Added some testing around sending of DFs in TestHttpRemoteTask
I didn't see a reasonable way to test the race condition though
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/execution/SqlStageExecution.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/server/TestDynamicFilterService.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/server/TestDynamicFilterService.java
Show resolved
Hide resolved
plugin/trino-memory/src/test/java/io/trino/plugin/memory/TestMemorySmoke.java
Show resolved
Hide resolved
plugin/trino-memory/src/test/java/io/trino/plugin/memory/TestMemorySmoke.java
Show resolved
Hide resolved
plugin/trino-memory/src/test/java/io/trino/plugin/memory/TestMemorySmoke.java
Outdated
Show resolved
Hide resolved
testing/trino-tests/src/test/java/io/trino/execution/TestCoordinatorDynamicFiltering.java
Show resolved
Hide resolved
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 % test comments
testing/trino-tests/src/test/java/io/trino/execution/TestCoordinatorDynamicFiltering.java
Show resolved
Hide resolved
testing/trino-tests/src/test/java/io/trino/execution/TestCoordinatorDynamicFiltering.java
Show resolved
Hide resolved
testing/trino-tests/src/test/java/io/trino/execution/TestCoordinatorDynamicFiltering.java
Show resolved
Hide resolved
testing/trino-tests/src/test/java/io/trino/execution/TestCoordinatorDynamicFiltering.java
Show resolved
Hide resolved
115618f
to
ace437b
Compare
d70f0c4
to
0dbd119
Compare
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 % test comments
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/server/TestDynamicFilterService.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/server/remotetask/TestHttpRemoteTask.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/server/remotetask/TestHttpRemoteTask.java
Outdated
Show resolved
Hide resolved
testing/trino-tests/src/test/java/io/trino/execution/TestCoordinatorDynamicFiltering.java
Show resolved
Hide resolved
testing/trino-tests/src/test/java/io/trino/execution/TestCoordinatorDynamicFiltering.java
Show resolved
Hide resolved
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.
small comments
core/trino-main/src/test/java/io/trino/server/remotetask/TestHttpRemoteTask.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/server/remotetask/TestHttpRemoteTask.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/server/remotetask/TestHttpRemoteTask.java
Show resolved
Hide resolved
Explicitly disable optimizer.rewrite-filtering-semi-join-to-inner-join in dynamic filtering tests to ensure that the semi-join related tests actually test the code path of semi-join dynamic filtering.
Fixes #3972