Skip to content

Conversation

@HappenLee
Copy link
Contributor

  1. Add enable spilling in query option, upport spill disk in Analytic_Eval_Node, FE can open enable spilling by

      set enable_spilling = true;
    

Now, Sort Node and Analytic_Eval_Node can spill to disk.
2. Delete merge merge_sorter code we do not use now.
3. Replace buffered_tuple_stream by buffered_tuple_stream2 in Analytic_Eval_Node and support spill to disk. Delete the useless code of buffered_block_mgr and buffered_tuple_stream.
4. Add DataStreamRecvr Profile. Move the counter belong to DataStreamRecvr from fragment to DataStreamRecvr Profile to make clear of Running Profile.

…c_Eval_Node, FE can open enable spilling by

         set enable_spilling = true;

Now, Sort Node and Analytic_Eval_Node can spill to disk.
2. Delete merge merge_sorter code we do not use now.
3. Replace buffered_tuple_stream by buffered_tuple_stream2 in Analytic_Eval_Node and support spill to disk. Delete the useless code of buffered_block_mgr and buffered_tuple_stream.
4. Add DataStreamRecvr Profile. Move the counter belong to DataStreamRecvr from fragment to DataStreamRecvr Profile to make clear of Running Profile.
_sub_plan_query_statistics_recvr(sub_plan_query_statistics_recvr) {
_mem_tracker.reset(new MemTracker(-1, "DataStreamRecvr", parent_tracker));
_profile.reset(new RuntimeProfile(nullptr, "DataStreamRecvr"));
profile->add_child(_profile.get(), true, nullptr);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
profile->add_child(_profile.get(), true, nullptr);
_profile->add_child(_profile.get(), true, nullptr);

Copy link
Contributor Author

@HappenLee HappenLee Jun 10, 2020

Choose a reason for hiding this comment

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

@wutiangan Hello, The profile is the param of the method DataStreamRecvr constructed function. _profile is the unique_ptr of the RunningProile be long to the object DataStreamRecvr.
So they are indeed different, the suggest change may cause problem.

_block_write_threshold(tmp_file_mgr->num_active_tmp_devices() * 2),
// _disable_spill(state->query_ctx().disable_spilling),
_disable_spill(false),
_disable_spill(state->disable_spill()),
Copy link
Contributor

Choose a reason for hiding this comment

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

use enable_spill is better which is compatible to fe

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok,i will change the bool var

Copy link
Contributor

@morningman morningman left a comment

Choose a reason for hiding this comment

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

LGTM

@morningman morningman added approved Indicates a PR has been approved by one committer. area/sql/execution Issues or PRs related to the execution engine labels Jun 12, 2020
@kangkaisen kangkaisen merged commit dac156b into apache:master Jun 13, 2020
@EmmyMiao87 EmmyMiao87 mentioned this pull request Aug 17, 2020
csun5285 pushed a commit to csun5285/doris that referenced this pull request Mar 28, 2025
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/sql/execution Issues or PRs related to the execution engine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants