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

[bugfix](core) be will core when coordinator callback #19497

Merged
merged 1 commit into from
May 10, 2023

Conversation

yiguolei
Copy link
Contributor

Proposed changes

#0 0x000055d13177e8e1 in doris::FragmentMgr::coordinator_callback(doris::ReportStatusRequest const&) ()
#1 0x000055d13185333f in void std::__invoke_impl<void, void (doris::FragmentMgr::* const&)(doris::ReportStatusRequest const&), doris::FragmentMgr*&, doris::ReportStatusRequest>(std::__invoke_memfun_deref, void (doris::FragmentMgr::* const&)(doris::ReportStatusRequest const&), doris::FragmentMgr*&, doris::ReportStatusRequest&&) ()
#2 0x000055d13185315b in std::__invoke_result<void (doris::FragmentMgr::* const&)(doris::ReportStatusRequest const&), doris::FragmentMgr*&, doris::ReportStatusRequest>::type std::__invoke<void (doris::FragmentMgr::* const&)(doris::ReportStatusRequest const&), doris::FragmentMgr*&, doris::ReportStatusRequest>(void (doris::FragmentMgr::* const&)(doris::ReportStatusRequest const&), doris::FragmentMgr*&, doris::ReportStatusRequest&&) ()
#3 0x000055d131853073 in std::_Mem_fn_base<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&), true>::operator()<doris::FragmentMgr&, doris::ReportStatusRequest> ()
#4 0x000055d131852f5d in void std::__invoke_impl<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)>&, doris::FragmentMgr&, doris::ReportStatusRequest>(std::__invoke_other, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)>&, doris::FragmentMgr&, doris::ReportStatusRequest&&) ()
#5 0x000055d131852b7d in std::enable_if<is_invocable_r_v<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)>&, doris::FragmentMgr&, doris::ReportStatusRequest>, void>::type std::__invoke_r<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)>&, doris::FragmentMgr&, doris::ReportStatusRequest>(std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)>&, doris::FragmentMgr&, doris::ReportStatusRequest&&) ()
#6 0x000055d1318529d0 in void std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)>::__call<void, doris::ReportStatusRequest&&, 0ul, 1ul>(std::tupledoris::ReportStatusRequest&&&&, std::_Index_tuple<0ul, 1ul>) ()
#7 0x000055d131852784 in void std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)>::operator()doris::ReportStatusRequest(doris::ReportStatusRequest&&) ()
#8 0x000055d1318526cf in void std::__invoke_impl<void, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)>&, doris::ReportStatusRequest>(std::__invoke_other, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)>&, doris::ReportStatusRequest&&) ()
#9 0x000055d131852581 in std::enable_if<is_invocable_r_v<void, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)>&, doris::ReportStatusRequest>, void>::type std::__invoke_r<void, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)>&, doris::ReportStatusRequest>(std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)>&, doris::ReportStatusRequest&&) ()
#10 0x000055d131851aeb in std::_Function_handler<void (doris::ReportStatusRequest), std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentMgr::)(doris::ReportStatusRequest const&)> (doris::FragmentMgr, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, doris::ReportStatusRequest&&) ()
#11 0x000055d1317a2ce5 in std::function<void (doris::ReportStatusRequest)>::operator()(doris::ReportStatusRequest) const ()
#12 0x000055d131775f75 in doris::FragmentExecState::coordinator_callback(doris::Status const&, doris::RuntimeProfile*, bool) ()
#13 0x000055d131829eec in void std::__invoke_impl<void, void (doris::FragmentExecState::* const&)(doris::Status const&, doris::RuntimeProfile*, bool), doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*, bool>(std::__invoke_memfun_deref, void (doris::FragmentExecState::* const&)(doris::Status const&, doris::RuntimeProfile*, bool), doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#14 0x000055d131829d01 in std::__invoke_result<void (doris::FragmentExecState::* const&)(doris::Status const&, doris::RuntimeProfile*, bool), doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*, bool>::type std::__invoke<void (doris::FragmentExecState::* const&)(doris::Status const&, doris::RuntimeProfile*, bool), doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*, bool>(void (doris::FragmentExecState::* const&)(doris::Status const&, doris::RuntimeProfile*, bool), doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#15 0x000055d131829bb9 in std::_Mem_fn_base<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool), true>::operator()<doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*, bool> ()
#16 0x000055d131829a43 in void std::__invoke_impl<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)>&, doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*, bool>(std::__invoke_other, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)>&, doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#17 0x000055d131829343 in std::enable_if<is_invocable_r_v<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)>&, doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*, bool>, void>::type std::__invoke_r<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)>&, doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*, bool>(std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)>&, doris::FragmentExecState*&, doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#18 0x000055d1318290c2 in void std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>::__call<void, doris::Status const&, doris::RuntimeProfile*&&, bool&&, 0ul, 1ul, 2ul, 3ul>(std::tuple<doris::Status const&, doris::RuntimeProfile*&&, bool&&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) ()
#19 0x000055d131828cca in void std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>::operator()<doris::Status const&, doris::RuntimeProfile*, bool>(doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#20 0x000055d131828bb5 in void std::__invoke_impl<void, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>&, doris::Status const&, doris::RuntimeProfile*, bool>(std::__invoke_other, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>&, doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#21 0x000055d131828a07 in std::enable_if<is_invocable_r_v<void, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>&, doris::Status const&, doris::RuntimeProfile*, bool>, void>::type std::__invoke_r<void, std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>&, doris::Status const&, doris::RuntimeProfile*, bool>(std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>&, doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#22 0x000055d1318278d1 in std::_Function_handler<void (doris::Status const&, doris::RuntimeProfile*, bool), std::_Bind_result<void, std::_Mem_fn<void (doris::FragmentExecState::)(doris::Status const&, doris::RuntimeProfile, bool)> (doris::FragmentExecState*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)> >::_M_invoke(std::_Any_data const&, doris::Status const&, doris::RuntimeProfile*&&, bool&&) ()
#23 0x000055d13188288c in std::function<void (doris::Status const&, doris::RuntimeProfile*, bool)>::operator()(doris::Status const&, doris::RuntimeProfile*, bool) const ()
#24 0x000055d13187607f in doris::PlanFragmentExecutor::send_report(bool) ()
#25 0x000055d1318743f2 in doris::PlanFragmentExecutor::open() ()
#26 0x000055d131776c17 in doris::FragmentExecState::execute() ()
#27 0x000055d131781538 in doris::FragmentMgr::_exec_actual(std::shared_ptrdoris::FragmentExecState, std::function<void (doris::RuntimeState*, doris::Status*)> const&) ()
#28 0x000055d13179df16 in doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3::operator()() const ()
#29 0x000055d13179dd63 in void std::__invoke_impl<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3&>(std::__invoke_other, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3&) ()
#30 0x000055d13179dc55 in std::enable_if<is_invocable_r_v<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3&>, void>::type std::__invoke_r<void, doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3&>(doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3&) ()
#31 0x000055d13179d4df in std::_Function_handler<void (), doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_3>::_M_invoke(std::_Any_data const&) ()
#32 0x000055d12d8ade5d in std::function<void ()>::operator()() const ()
#33 0x000055d13214adcb in doris::FunctionRunnable::run() ()
#34 0x000055d1321334d7 in doris::ThreadPool::dispatch_thread() ()
#35 0x000055d132169aab in void std::__invoke_impl<void, void (doris::ThreadPool::&)(), doris::ThreadPool&>(std::__invoke_memfun_deref, void (doris::ThreadPool::&)(), doris::ThreadPool&) ()
#36 0x000055d13216984f in std::__invoke_result<void (doris::ThreadPool::&)(), doris::ThreadPool&>::type std::__invoke<void (doris::ThreadPool::&)(), doris::ThreadPool&>(void (doris::ThreadPool::&)(), doris::ThreadPool&) ()
#37 0x000055d13216979d in void std::_Bind<void (doris::ThreadPool::(doris::ThreadPool))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) ()

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

@yiguolei
Copy link
Contributor Author

run buildall

@github-actions
Copy link
Contributor

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

@hello-stephen
Copy link
Contributor

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 33.08 seconds
stream load tsv: 430 seconds loaded 74807831229 Bytes, about 165 MB/s
stream load json: 26 seconds loaded 2358488459 Bytes, about 86 MB/s
stream load orc: 59 seconds loaded 1101869774 Bytes, about 17 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230510094446_clickbench_pr_141650.html

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 May 10, 2023
@yiguolei yiguolei merged commit 69ebb90 into apache:master May 10, 2023
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants