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
Fix unspill scheduling in join spill #9275
Conversation
Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please submit the signed CLA to cla@trino.io. For more information, see https://github.com/trinodb/cla. |
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 % small comments
public synchronized void setDisposeCompleted() | ||
{ | ||
disposeCompleted.set(null); | ||
setState(State.DISPOSE_COMPLETED); |
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.
can this be called before dispose
by HashBuilderOperator
?
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.
why do you want to call this before dispose
? Then the next page could be loaded before dispose
is done.
core/trino-main/src/main/java/io/trino/operator/join/SpilledLookupSourceHandle.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/operator/join/PartitionedLookupSourceFactory.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/operator/join/PartitionedConsumption.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/operator/join/PartitionedConsumption.java
Show resolved
Hide resolved
0b24925
to
99520ce
Compare
Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please submit the signed CLA to cla@trino.io. For more information, see https://github.com/trinodb/cla. |
@JunhyungSong could you sign CLA please? |
I have done that. can you check that, please? |
@cla-bot check |
The cla-bot has been summoned, and re-checked this pull request! |
Could you push empty commit? |
Before the fix, unspill of next partition is triggered when previous partition is released. However, it just sends release request without waiting for release to complete. As a result, multiple partitions exist simultaneously and result in memory limit error.
99520ce
to
b7ff910
Compare
Done. |
Comparable changes extracted from prestodb/presto#16339
Before the fix, unspill of next partition is
triggered when previous partition is released.
However, it just sends release request without
waiting for release to complete. As a result,
multiple partitions exist simultaneously and
result in memory limit error.