Skip to content
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

[Pipeline](exec) Support shared scan in colo agg #18457

Merged
merged 1 commit into from
Apr 13, 2023

Conversation

HappenLee
Copy link
Contributor

Proposed changes

Before do the opt ckbench:
21.8s

After do the opt ckbench:
18.9s

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...

@HappenLee HappenLee marked this pull request as ready for review April 7, 2023 04:34
@github-actions github-actions bot added area/planner Issues or PRs related to the query planner area/vectorization labels Apr 7, 2023
@HappenLee
Copy link
Contributor Author

run buildall

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

}

bool has_enough_space_in_blocks_queue() const override {
return _current_used_bytes < _max_bytes_in_queue / 2 * _max_queue_size;
}

virtual void _dispose_coloate_blocks_not_in_queue() override {
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: 'virtual' is redundant since the function is already declared 'override' [modernize-use-override]

Suggested change
virtual void _dispose_coloate_blocks_not_in_queue() override {
void _dispose_coloate_blocks_not_in_queue() override {

@HappenLee
Copy link
Contributor Author

run buildall

@HappenLee
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

hello-stephen commented Apr 10, 2023

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 32.72 seconds
stream load tsv: 435 seconds loaded 74807831229 Bytes, about 164 MB/s
stream load json: 21 seconds loaded 2358488459 Bytes, about 107 MB/s
stream load orc: 72 seconds loaded 1101869774 Bytes, about 14 MB/s
stream load parquet: 31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230411104648_clickbench_pr_127490.html

@HappenLee
Copy link
Contributor Author

run buildall

@HappenLee
Copy link
Contributor Author

run buildall

1 similar comment
@HappenLee
Copy link
Contributor Author

run buildall

@HappenLee HappenLee force-pushed the bug branch 2 times, most recently from 973205e to 0432f0c Compare April 10, 2023 18:35
@HappenLee
Copy link
Contributor Author

run buildall

1 similar comment
@HappenLee
Copy link
Contributor Author

run buildall

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

auto* __restrict hashes = hash_vals.data();

for (int j = 0; j < _col_distribute_ids.size(); ++j) {
DCHECK_GT(block->columns(), _col_distribute_ids[j]) << "happen lee:" << print_id(_state->query_id());
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: member access into incomplete type 'doris::RuntimeState' [clang-diagnostic-error]

                    DCHECK_GT(block->columns(), _col_distribute_ids[j]) << "happen lee:" << print_id(_state->query_id());
                                                                                                           ^

be/src/udf/udf.h:41: forward declaration of 'doris::RuntimeState'

class RuntimeState;
      ^

for (int j = 0; j < _col_distribute_ids.size(); ++j) {
DCHECK_GT(block->columns(), _col_distribute_ids[j]) << "happen lee:" << print_id(_state->query_id());
DCHECK_NE(block->get_by_position(_col_distribute_ids[j])
.column.get(), nullptr) << "happen lee:" << print_id(_state->query_id());
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: member access into incomplete type 'doris::RuntimeState' [clang-diagnostic-error]

                                      .column.get(), nullptr) << "happen lee:" << print_id(_state->query_id());
                                                                                                 ^

be/src/udf/udf.h:41: forward declaration of 'doris::RuntimeState'

class RuntimeState;
      ^

@HappenLee
Copy link
Contributor Author

run p0

@HappenLee
Copy link
Contributor Author

run p0

@HappenLee
Copy link
Contributor Author

run buildall

@HappenLee
Copy link
Contributor Author

run buildall

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

@Gabriel39 Gabriel39 merged commit 40a3529 into apache:master Apr 13, 2023
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 21, 2023
Reminiscent pushed a commit to Reminiscent/doris that referenced this pull request May 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/planner Issues or PRs related to the query planner area/vectorization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants