Skip to content

[Fix](planner)fix conjunct planned on exchange node - #18042

Merged
morrySnow merged 4 commits into
apache:masterfrom
sohardforaname:cir1865
Mar 27, 2023
Merged

[Fix](planner)fix conjunct planned on exchange node#18042
morrySnow merged 4 commits into
apache:masterfrom
sohardforaname:cir1865

Conversation

@sohardforaname

@sohardforanamesohardforaname commented Mar 23, 2023

Copy link
Copy Markdown
Contributor

Proposed changes

Issue Number: close #xxx

Problem summary

sql like:
select k5, k6, SUM(k3) AS k3
from (
select
k5,
date_format(k6, '%Y-%m-%d') as k6,
count(distinct k3) as k3
from t
group by k5, k6
) AS temp where 1=1
group by k5, k6;

will throw exception since conjuncts planned on exchange node, because exchange node cannot handle conjuncts, now we skip exchange node when planning conjuncts, which fixes the bug.
notice: the bug occurs iff the conjunct is always true like 1=1 above.

Checklist(Required)

  • Does it affect the original behavior
  • Has unit tests been added
  • Has document been added or modified
  • Does it need to update dependencies
  • Is this PR support rollback (If NO, please explain WHY)

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

@github-actionsgithub-actionsBot added area/planner Issues or PRs related to the query planner kind/test labels Mar 23, 2023
@sohardforaname

Copy link
Copy Markdown
ContributorAuthor

run buildall

@sohardforaname

Copy link
Copy Markdown
ContributorAuthor

run p0

@morningmanmorningman added usercase Important user case type label dev/1.2.3 labels Mar 24, 2023
@englefly

Copy link
Copy Markdown
Contributor

add some explanation in problem summary

  1. the root cause is exchange node is not able to filter data
  2. remove the 1=1 in view, it is not the conjunct mentioned in this pr
  3. change the 1=1 to a more general equal.

@sohardforaname

Copy link
Copy Markdown
ContributorAuthor

add some explanation in problem summary

  1. the root cause is exchange node is not able to filter data
  2. remove the 1=1 in view, it is not the conjunct mentioned in this pr
  3. change the 1=1 to a more general equal.

done

@github-actionsgithub-actionsBot added the approved Indicates a PR has been approved by one committer. label Mar 27, 2023
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@morrySnow
morrySnow merged commit 894f38a into apache:masterMar 27, 2023
morningman pushed a commit that referenced this pull request Mar 28, 2023
sql like: select k5, k6, SUM(k3) AS k3 from ( select
k5,
date_format(k6, '%Y-%m-%d') as k6,
count(distinct k3) as k3 from t group by k5, k6
) AS temp where 1=1
group by k5, k6;
will throw exception since conjuncts planned on exchange node, because exchange node cannot handle conjuncts, now we skip exchange node when planning conjuncts, which fixes the bug. notice: the bug occurs iff the conjunct is always true like 1=1 above.
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 21, 2023
sql like: select k5, k6, SUM(k3) AS k3 from ( select
k5,
date_format(k6, '%Y-%m-%d') as k6,
count(distinct k3) as k3 from t group by k5, k6
) AS temp where 1=1
group by k5, k6;
will throw exception since conjuncts planned on exchange node, because exchange node cannot handle conjuncts, now we skip exchange node when planning conjuncts, which fixes the bug. notice: the bug occurs iff the conjunct is always true like 1=1 above.
mongo360 pushed a commit to mongo360/doris that referenced this pull request Jul 12, 2023
sql like: select k5, k6, SUM(k3) AS k3 from ( select
k5,
date_format(k6, '%Y-%m-%d') as k6,
count(distinct k3) as k3 from t group by k5, k6
) AS temp where 1=1
group by k5, k6;
will throw exception since conjuncts planned on exchange node, because exchange node cannot handle conjuncts, now we skip exchange node when planning conjuncts, which fixes the bug. notice: the bug occurs iff the conjunct is always true like 1=1 above.
swjtu-zhanglei pushed a commit to swjtu-zhanglei/incubator-doris that referenced this pull request Jul 25, 2023
commit f5d6201
Author: morrySnow <101034200+morrySnow@users.noreply.github.com>
Date: Wed Mar 22 10:53:15 2023 +0800
[fix](planner) should always execute projection plan (apache#17885)
1. should always execute projection plan, whatever the statement it is.
2. should always execute projection plan, since we only have vectorized engine now
commit ad61c84
Author: mch_ucchi <41606806+sohardforaname@users.noreply.github.com>
Date: Mon Mar 27 17:50:52 2023 +0800
[fix](planner) fix conjunct planned on exchange node (apache#18042)
sql like:
select k5, k6, SUM(k3) AS k3
from (
select
k5,
date_format(k6, '%Y-%m-%d') as k6,
count(distinct k3) as k3
from t
group by k5, k6
) AS temp where 1=1
group by k5, k6;
will throw exception since conjuncts planned on exchange node, because exchange node cannot handle conjuncts, now we skip exchange node when planning conjuncts, which fixes the bug.
notice: the bug occurs iff the conjunct is always true like 1=1 above.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approvedIndicates a PR has been approved by one committer.area/plannerIssues or PRs related to the query plannerdev/1.2.4-mergedkind/testreviewedusercaseImportant user case type label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@sohardforaname@englefly@morrySnow@morningman