-
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
Reduce lock contention in HttpRemoteTask #13934
Merged
Merged
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
losipiuk
reviewed
Aug 31, 2022
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Show resolved
Hide resolved
sopel39
force-pushed
the
ks/reduce_pressure
branch
from
August 31, 2022 10:45
8b80e7e
to
bfa73b1
Compare
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Show resolved
Hide resolved
Sending of dynamic filters is idempotent. Hence it doesn't matter if sentDynamicFiltersVersion is up to date as long as it gets consistent eventually.
sendPlan doesn't have to be in critical section since it's atomic and sending of plan is idempotent.
Use separate locks for sending a new request (which is potentially expensive) and modifying HttpRemoteTask state.
sopel39
force-pushed
the
ks/reduce_pressure
branch
from
August 31, 2022 15:01
bfa73b1
to
00cf20a
Compare
I've split it into smaller commits. PTAL @losipiuk |
losipiuk
reviewed
Aug 31, 2022
core/trino-main/src/main/java/io/trino/server/remotetask/HttpRemoteTask.java
Show resolved
Hide resolved
losipiuk
approved these changes
Sep 1, 2022
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.
Seems fine :/
lgtm |
radek-kondziolka
approved these changes
Sep 1, 2022
Closed
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
Use separate locks for sending a new request
(which is potentially expensive) and modifying
HttpRemoteTask state.
improvement
core
Improve throughput for large clusters with higher concurrency
Related issues, pull requests, and links
Fixes #10842
Documentation
(x) No documentation is needed.
( ) Sufficient documentation is included in this PR.
( ) Documentation PR is available with #prnumber.
( ) Documentation issue #issuenumber is filed, and can be handled later.
Release notes
( ) No release notes entries required.
( ) Release notes entries required with the following suggested text: