-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
executor: getNewJoinResult after handling a task for orderd IndexHashJoin #13451
Conversation
Codecov Report
@@ Coverage Diff @@
## master #13451 +/- ##
===========================================
Coverage 80.2545% 80.2545%
===========================================
Files 472 472
Lines 115014 115014
===========================================
Hits 92304 92304
Misses 15458 15458
Partials 7252 7252 |
cancelFunc() | ||
return | ||
} | ||
} |
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.
Is it better to put it in doJoinInOrder
or handleTask
?
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.
How about putting it here, the first defer
function in doJoinInOrder
?
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
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
Your auto merge job has been accepted, waiting for 13561 |
/run-all-tests |
What problem does this PR solve?
fix #13449
What is changed and how it works?
This bug will only be triggered when IndexHashJoin needs to keep the outer order.
inner worker
will return the join result back to themain thread
and fetch another task WITHOUTgetNewJoinResult
.chkResourceCh
will be FULL at the moment.main thread
will be BLOCKED when try to send the result chk, which is fetched in step 1, back to the correspondingchkResourceCh
.inner worker
will be BLOCKED when try to send a new join result to the main thread because there is no one wait on the result channel.Check List
Tests
Code changes
Side effects
N/A
Related changes
N/A
Release note
N/A