Gabriel39 opened a new pull request, #23378:
URL: https://github.com/apache/doris/pull/23378
## Proposed changes
/**
* Consider the query plan below:
*
* ExchangeSource JoinBuild1
* \ /
* JoinProbe1 (Right Outer) JoinBuild2
* \ /
* JoinProbe2 (Right Outer)
* |
* Sink
*
* Assume JoinBuild1/JoinBuild2 outputs 0 rows, this pipeline task
should not be blocked by ExchangeSource
* because we have a determined conclusion that JoinProbe1/JoinProbe2
will also output 0 rows.
*
* Assume JoinBuild2 outputs > 0 rows, this pipeline task may be blocked
by Sink because JoinProbe2 will
* produce more data.
*
* Assume both JoinBuild2 outputs 0 rows this pipeline task should not
be blocked by ExchangeSource
* and Sink because JoinProbe2 will always produce 0 rows and terminate
early.
*
* In a nutshell, we should follow the rules:
* 1. if any operator in pipeline can terminate early, this task should
never be blocked by source operator.
* 2. if the last operator (except sink) can terminate early, this task
should never be blocked by sink operator.
*/
<!--Describe your changes.-->
## Further comments
If this is a relatively large or complex change, kick off the discussion at
[[email protected]](mailto:[email protected]) by explaining why you
chose the solution you did and what alternatives you considered, etc...
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]