Pipeline: use notify instead of polling for join probe#9081
Pipeline: use notify instead of polling for join probe#9081ti-chi-bot[bot] merged 13 commits intopingcap:masterfrom
Conversation
|
/cc @windtalker |
| probe_transform->finalizeProbe(); | ||
| switchStatus(ProbeStatus::WAIT_PROBE_FINISH); | ||
| return OperatorStatus::WAITING; | ||
| return OperatorStatus::HAS_OUTPUT; |
There was a problem hiding this comment.
Why original code return WAITING?
There was a problem hiding this comment.
Because later, we need to poll in the wait reactor for other task probes to finish before continuing with the restore build.
Now, return to the CPU thread pool to trigger wait-for-notify.
There was a problem hiding this comment.
you mean return to cpu thread pool, if isProbeFinishedForPipeline return false, it will go to wait-for-notify state?
There was a problem hiding this comment.
onWaitProbeFinishDone will be called instead of triggering wait-for-notify because finalizeProbe is called.
There was a problem hiding this comment.
onWaitProbeFinishDonewill be called instead of triggering wait-for-notify becausefinalizeProbeis called.
yes, you are right.
|
/cc @gengliqi |
|
|
||
| namespace DB | ||
| { | ||
| class OneTimeNotifyFuture : public NotifyFuture |
There was a problem hiding this comment.
can you add some comments to explain why it is named as OneTimeNotifyFuture
|
/hold |
| probe_transform->finalizeProbe(); | ||
| switchStatus(ProbeStatus::WAIT_PROBE_FINISH); | ||
| return OperatorStatus::WAITING; | ||
| return OperatorStatus::HAS_OUTPUT; |
There was a problem hiding this comment.
onWaitProbeFinishDone will be called instead of triggering wait-for-notify because finalizeProbe is called.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: gengliqi, windtalker The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[LGTM Timeline notifier]Timeline:
|
|
/hold cancel |
|
/run-all-tests |
What problem does this PR solve?
Issue Number: ref #8869
Problem Summary:
What is changed and how it works?
OneTimeFutureto implementjoin probe'swait for notify.HashJoinProbeTransformOp::awaitImplCheck List
Tests
Side effects
Documentation
Release note