Skip to content

Conversation

@xiaokang
Copy link
Contributor

Proposed changes

Issue Number: close #xxx

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node

Problem summary

Describe your changes.

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-actions github-actions bot added area/planner Issues or PRs related to the query planner area/vectorization kind/test labels Mar 26, 2023
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xiaokang
Copy link
Contributor Author

run buildall

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@hello-stephen
Copy link
Contributor

hello-stephen commented Mar 26, 2023

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 36.39 seconds
stream load tsv: 448 seconds loaded 74807831229 Bytes, about 159 MB/s
stream load json: 21 seconds loaded 2358488459 Bytes, about 107 MB/s
stream load orc: 73 seconds loaded 1101869774 Bytes, about 14 MB/s
stream load parquet: 30 seconds loaded 861443392 Bytes, about 27 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230330030208_clickbench_pr_122580.html

@xiaokang
Copy link
Contributor Author

run buildall

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xiaokang
Copy link
Contributor Author

run buildall

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xiaokang
Copy link
Contributor Author

run buildall

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xiaokang
Copy link
Contributor Author

run buildall

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Gabriel39
Gabriel39 previously approved these changes Mar 29, 2023
Copy link
Contributor

@Gabriel39 Gabriel39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 29, 2023
@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@xiaokang
Copy link
Contributor Author

run buildall

@github-actions github-actions bot removed the approved Indicates a PR has been approved by one committer. label Mar 29, 2023
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@xiaokang
Copy link
Contributor Author

run buildall

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 31, 2023
@Gabriel39 Gabriel39 merged commit 479272f into apache:master Mar 31, 2023
@github-actions
Copy link
Contributor

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

liaoxin01 pushed a commit to liaoxin01/doris that referenced this pull request Mar 31, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
luwei16 pushed a commit to luwei16/incubator-doris that referenced this pull request Apr 7, 2023
…x 17352 (apache#1565)


commit 4e1e0ce
Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Mar 31 10:01:34 2023 +0800

    [bugfix](topn) fix topn optimzation wrong result for NULL values (apache#18121)
    
    1. add PassNullPredicate to fix topn wrong result for NULL values
    2. refactor RuntimePredicate to avoid using TCondition
    3. refactor using ordering_exprs in fe and vsort_node


Author: Kang <kxiao.tiger@gmail.com>
Date:   Mon Mar 27 11:29:42 2023 +0800

    [bugfix](inverted index)temporary disable skip read column data if it match inverted index (apache#18065)
    
    The optimization for skip reading column data if it match inverted index and only used in WHERE clause may get wrong result for complex SQL.
    
    This PR temporary disable the optimization and later PRs will resolve the problem fundamentality.


Author: Kang <kxiao.tiger@gmail.com>
Date:   Wed Mar 8 14:18:26 2023 +0800

    [bugfix](jsonb) Fix create mv using jsonb key cause be crash (apache#17430)


Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Mar 3 21:00:49 2023 +0800

    [improvement](inverted index)use reference to avoid bitmap copy for performance (apache#17352)
    
    Query runtime is reduced from 10s to 1s for a MATCH query that match 40 million rows out of 44 million rows.
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 21, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 21, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 25, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 25, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…che#18121)

1. add PassNullPredicate to fix topn wrong result for NULL values
2. refactor RuntimePredicate to avoid using TCondition
3. refactor using ordering_exprs in fe and vsort_node
xiaokang added a commit to xiaokang/doris that referenced this pull request Jun 4, 2023
 [bugfix](topn) fix topn optimzation wrong result for NULL values (apache#18121)
morningman pushed a commit that referenced this pull request Jun 6, 2023
1. add testcase for key topn opt
2. disable key topn opt only for DUP_KEYS and UNIQUE_KEYS with MOW
3. cherry pick some bugfix commit from master

commit 58c5108
Author: Kang <kxiao.tiger@gmail.com>
Date:   Sun Feb 19 23:28:33 2023 +0800

    [bugfix](topn) fix topn read_orderby_key_columns nullptr (#16896)

commit 479272f
Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Mar 31 10:02:07 2023 +0800

    [bugfix](topn) fix topn optimzation wrong result for NULL values (#18121)


commit d9924c9
Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Feb 10 12:56:33 2023 +0800

    [Improvement](topn) add limit threashold session variable and fuzzy for topn optimizations (#16514)

    1. add limit threshold for topn runtime pushdown and key topn optimization
    2. use unified session variable topn_opt_limit_threshold for all topn optimizations
    4. add fuzzy support for topn_opt_limit_threshold
mongo360 pushed a commit to mongo360/doris that referenced this pull request Jul 12, 2023
…20406)

1. add testcase for key topn opt
2. disable key topn opt only for DUP_KEYS and UNIQUE_KEYS with MOW
3. cherry pick some bugfix commit from master

commit 58c5108
Author: Kang <kxiao.tiger@gmail.com>
Date:   Sun Feb 19 23:28:33 2023 +0800

    [bugfix](topn) fix topn read_orderby_key_columns nullptr (apache#16896)

commit 479272f
Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Mar 31 10:02:07 2023 +0800

    [bugfix](topn) fix topn optimzation wrong result for NULL values (apache#18121)


commit d9924c9
Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Feb 10 12:56:33 2023 +0800

    [Improvement](topn) add limit threashold session variable and fuzzy for topn optimizations (apache#16514)

    1. add limit threshold for topn runtime pushdown and key topn optimization
    2. use unified session variable topn_opt_limit_threshold for all topn optimizations
    4. add fuzzy support for topn_opt_limit_threshold
swjtu-zhanglei pushed a commit to swjtu-zhanglei/incubator-doris that referenced this pull request Jul 25, 2023
…x 17352 (apache#1565)

commit 4e1e0ce
Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Mar 31 10:01:34 2023 +0800

    [bugfix](topn) fix topn optimzation wrong result for NULL values (apache#18121)

    1. add PassNullPredicate to fix topn wrong result for NULL values
    2. refactor RuntimePredicate to avoid using TCondition
    3. refactor using ordering_exprs in fe and vsort_node

Author: Kang <kxiao.tiger@gmail.com>
Date:   Mon Mar 27 11:29:42 2023 +0800

    [bugfix](inverted index)temporary disable skip read column data if it match inverted index (apache#18065)

    The optimization for skip reading column data if it match inverted index and only used in WHERE clause may get wrong result for complex SQL.

    This PR temporary disable the optimization and later PRs will resolve the problem fundamentality.

Author: Kang <kxiao.tiger@gmail.com>
Date:   Wed Mar 8 14:18:26 2023 +0800

    [bugfix](jsonb) Fix create mv using jsonb key cause be crash (apache#17430)

Author: Kang <kxiao.tiger@gmail.com>
Date:   Fri Mar 3 21:00:49 2023 +0800

    [improvement](inverted index)use reference to avoid bitmap copy for performance (apache#17352)

    Query runtime is reduced from 10s to 1s for a MATCH query that match 40 million rows out of 44 million rows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. area/planner Issues or PRs related to the query planner area/vectorization kind/test reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants