[pipelineX](cancel) Remove lock for mapping query ctx to fragment#32346
[pipelineX](cancel) Remove lock for mapping query ctx to fragment#32346yiguolei merged 11 commits intoapache:masterfrom
Conversation
|
Thank you for your contribution to Apache Doris. |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 38262 ms |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
1 similar comment
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
| continue; | ||
| } | ||
| ctx.second->cancel(PPlanFragmentCancelReason::INTERNAL_ERROR, msg); | ||
| if (auto pipeline_ctx = ctx.second.lock()) { |
There was a problem hiding this comment.
we need a lock to protect fragment_id_to_pipeline_ctx.
For example, one thread is exec_plan_fragment, it will use fragment mgr's lock and insert to the map;
and here, the cancel logic will iterate the map, it may core.
And I think the core reason is we expose the structure fragment_id_to_pipeline_ctx to fragment mgr. We should change all members to priviate and expose some method to fragment mgr.
| f_context->second->cancel(reason, msg); | ||
| if (auto q_ctx = _query_ctx_map.find(query_id)->second) { | ||
| auto f_context = q_ctx->fragment_id_to_pipeline_ctx.find(fragment_id); | ||
| if (f_context != q_ctx->fragment_id_to_pipeline_ctx.end()) { |
There was a problem hiding this comment.
Add a new method in query context , not use the structure fragment_id_to_pipeline_ctx directly. We could not ensure the concurrency logic for the structure.
|
TeamCity be ut coverage result: |
|
run buildall |
| } | ||
| } | ||
|
|
||
| Status FragmentMgr::get_query_ctx(const TPipelineFragmentParams& params, TUniqueId query_id, |
There was a problem hiding this comment.
warning: method 'get_query_ctx' can be made static [readability-convert-member-functions-to-static]
| Status FragmentMgr::get_query_ctx(const TPipelineFragmentParams& params, TUniqueId query_id, | |
| static Status FragmentMgr::get_query_ctx(const TPipelineFragmentParams& params, TUniqueId query_id, |
| @@ -773,6 +779,7 @@ std::string FragmentMgr::dump_pipeline_tasks() { | |||
| } | |||
|
|
|||
| Status FragmentMgr::exec_plan_fragment(const TPipelineFragmentParams& params, | |||
There was a problem hiding this comment.
warning: function 'exec_plan_fragment' has cognitive complexity of 88 (threshold 50) [readability-function-cognitive-complexity]
Status FragmentMgr::exec_plan_fragment(const TPipelineFragmentParams& params,
^Additional context
be/src/runtime/fragment_mgr.cpp:790: +1
const bool enable_pipeline_x = params.query_options.__isset.enable_pipeline_x_engine &&
^be/src/runtime/fragment_mgr.cpp:792: +1, including nesting penalty of 0, nesting level increased to 1
if (enable_pipeline_x) {
^be/src/runtime/fragment_mgr.cpp:804: +2, including nesting penalty of 1, nesting level increased to 2
if (!prepare_st.ok()) {
^be/src/runtime/fragment_mgr.cpp:812: +2, including nesting penalty of 1, nesting level increased to 2
for (size_t i = 0; i < params.local_params.size(); i++) {
^be/src/runtime/fragment_mgr.cpp:814: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:814: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:817: +3, including nesting penalty of 2, nesting level increased to 3
if (!i && handler) {
^be/src/runtime/fragment_mgr.cpp:817: +1
if (!i && handler) {
^be/src/runtime/fragment_mgr.cpp:824: +3, including nesting penalty of 2, nesting level increased to 3
if (iter != _pipeline_map.end()) {
^be/src/runtime/fragment_mgr.cpp:831: +3, including nesting penalty of 2, nesting level increased to 3
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:831: +1
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:846: +2, including nesting penalty of 1, nesting level increased to 2
if (!query_ctx->fragment_id_to_pipeline_ctx.contains(params.fragment_id)) {
^be/src/runtime/fragment_mgr.cpp:853: +2, including nesting penalty of 1, nesting level increased to 2
RETURN_IF_ERROR(context->submit());
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:853: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(context->submit());
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:855: +1, nesting level increased to 1
} else {
^be/src/runtime/fragment_mgr.cpp:856: nesting level increased to 2
auto pre_and_submit = [&](int i) {
^be/src/runtime/fragment_mgr.cpp:863: +3, including nesting penalty of 2, nesting level increased to 3
if (iter != _pipeline_map.end()) {
^be/src/runtime/fragment_mgr.cpp:871: +3, including nesting penalty of 2, nesting level increased to 3
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:871: +1
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:886: +3, including nesting penalty of 2, nesting level increased to 3
if (!prepare_st.ok()) {
^be/src/runtime/fragment_mgr.cpp:896: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:896: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:899: +3, including nesting penalty of 2, nesting level increased to 3
if (i == 0 && handler) {
^be/src/runtime/fragment_mgr.cpp:899: +1
if (i == 0 && handler) {
^be/src/runtime/fragment_mgr.cpp:914: +2, including nesting penalty of 1, nesting level increased to 2
if (local_params.__isset.runtime_filter_params) {
^be/src/runtime/fragment_mgr.cpp:915: +3, including nesting penalty of 2, nesting level increased to 3
if (local_params.__isset.runtime_filter_params) {
^be/src/runtime/fragment_mgr.cpp:920: +2, including nesting penalty of 1, nesting level increased to 2
if (local_params.__isset.topn_filter_source_node_ids) {
^be/src/runtime/fragment_mgr.cpp:922: +1, nesting level increased to 2
} else {
^be/src/runtime/fragment_mgr.cpp:926: +2, including nesting penalty of 1, nesting level increased to 2
if (target_size > 1) {
^be/src/runtime/fragment_mgr.cpp:932: +3, including nesting penalty of 2, nesting level increased to 3
for (size_t i = 0; i < target_size; i++) {
^be/src/runtime/fragment_mgr.cpp:933: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_thread_pool->submit_func([&, i]() {
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:933: +5, including nesting penalty of 4, nesting level increased to 5
RETURN_IF_ERROR(_thread_pool->submit_func([&, i]() {
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:944: +3, including nesting penalty of 2, nesting level increased to 3
if (prepare_done != target_size) {
^be/src/runtime/fragment_mgr.cpp:947: +4, including nesting penalty of 3, nesting level increased to 4
for (size_t i = 0; i < target_size; i++) {
^be/src/runtime/fragment_mgr.cpp:948: +5, including nesting penalty of 4, nesting level increased to 5
if (!prepare_status[i].ok()) {
^be/src/runtime/fragment_mgr.cpp:954: +1, nesting level increased to 2
} else {
^|
run buildall |
|
run buildall |
| @@ -773,6 +780,7 @@ std::string FragmentMgr::dump_pipeline_tasks() { | |||
| } | |||
|
|
|||
| Status FragmentMgr::exec_plan_fragment(const TPipelineFragmentParams& params, | |||
There was a problem hiding this comment.
warning: function 'exec_plan_fragment' has cognitive complexity of 88 (threshold 50) [readability-function-cognitive-complexity]
Status FragmentMgr::exec_plan_fragment(const TPipelineFragmentParams& params,
^Additional context
be/src/runtime/fragment_mgr.cpp:791: +1
const bool enable_pipeline_x = params.query_options.__isset.enable_pipeline_x_engine &&
^be/src/runtime/fragment_mgr.cpp:793: +1, including nesting penalty of 0, nesting level increased to 1
if (enable_pipeline_x) {
^be/src/runtime/fragment_mgr.cpp:805: +2, including nesting penalty of 1, nesting level increased to 2
if (!prepare_st.ok()) {
^be/src/runtime/fragment_mgr.cpp:813: +2, including nesting penalty of 1, nesting level increased to 2
for (size_t i = 0; i < params.local_params.size(); i++) {
^be/src/runtime/fragment_mgr.cpp:815: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:815: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:818: +3, including nesting penalty of 2, nesting level increased to 3
if (!i && handler) {
^be/src/runtime/fragment_mgr.cpp:818: +1
if (!i && handler) {
^be/src/runtime/fragment_mgr.cpp:825: +3, including nesting penalty of 2, nesting level increased to 3
if (iter != _pipeline_map.end()) {
^be/src/runtime/fragment_mgr.cpp:832: +3, including nesting penalty of 2, nesting level increased to 3
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:832: +1
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:847: +2, including nesting penalty of 1, nesting level increased to 2
if (!query_ctx->fragment_id_to_pipeline_ctx.contains(params.fragment_id)) {
^be/src/runtime/fragment_mgr.cpp:854: +2, including nesting penalty of 1, nesting level increased to 2
RETURN_IF_ERROR(context->submit());
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:854: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(context->submit());
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:856: +1, nesting level increased to 1
} else {
^be/src/runtime/fragment_mgr.cpp:857: nesting level increased to 2
auto pre_and_submit = [&](int i) {
^be/src/runtime/fragment_mgr.cpp:864: +3, including nesting penalty of 2, nesting level increased to 3
if (iter != _pipeline_map.end()) {
^be/src/runtime/fragment_mgr.cpp:872: +3, including nesting penalty of 2, nesting level increased to 3
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:872: +1
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:887: +3, including nesting penalty of 2, nesting level increased to 3
if (!prepare_st.ok()) {
^be/src/runtime/fragment_mgr.cpp:897: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:897: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:900: +3, including nesting penalty of 2, nesting level increased to 3
if (i == 0 && handler) {
^be/src/runtime/fragment_mgr.cpp:900: +1
if (i == 0 && handler) {
^be/src/runtime/fragment_mgr.cpp:915: +2, including nesting penalty of 1, nesting level increased to 2
if (local_params.__isset.runtime_filter_params) {
^be/src/runtime/fragment_mgr.cpp:916: +3, including nesting penalty of 2, nesting level increased to 3
if (local_params.__isset.runtime_filter_params) {
^be/src/runtime/fragment_mgr.cpp:921: +2, including nesting penalty of 1, nesting level increased to 2
if (local_params.__isset.topn_filter_source_node_ids) {
^be/src/runtime/fragment_mgr.cpp:923: +1, nesting level increased to 2
} else {
^be/src/runtime/fragment_mgr.cpp:927: +2, including nesting penalty of 1, nesting level increased to 2
if (target_size > 1) {
^be/src/runtime/fragment_mgr.cpp:933: +3, including nesting penalty of 2, nesting level increased to 3
for (size_t i = 0; i < target_size; i++) {
^be/src/runtime/fragment_mgr.cpp:934: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_thread_pool->submit_func([&, i]() {
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:934: +5, including nesting penalty of 4, nesting level increased to 5
RETURN_IF_ERROR(_thread_pool->submit_func([&, i]() {
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:945: +3, including nesting penalty of 2, nesting level increased to 3
if (prepare_done != target_size) {
^be/src/runtime/fragment_mgr.cpp:948: +4, including nesting penalty of 3, nesting level increased to 4
for (size_t i = 0; i < target_size; i++) {
^be/src/runtime/fragment_mgr.cpp:949: +5, including nesting penalty of 4, nesting level increased to 5
if (!prepare_status[i].ok()) {
^be/src/runtime/fragment_mgr.cpp:955: +1, nesting level increased to 2
} else {
^| @@ -773,6 +775,7 @@ std::string FragmentMgr::dump_pipeline_tasks() { | |||
| } | |||
|
|
|||
| Status FragmentMgr::exec_plan_fragment(const TPipelineFragmentParams& params, | |||
There was a problem hiding this comment.
warning: function 'exec_plan_fragment' has cognitive complexity of 91 (threshold 50) [readability-function-cognitive-complexity]
Status FragmentMgr::exec_plan_fragment(const TPipelineFragmentParams& params,
^Additional context
be/src/runtime/fragment_mgr.cpp:786: +1
const bool enable_pipeline_x = params.query_options.__isset.enable_pipeline_x_engine &&
^be/src/runtime/fragment_mgr.cpp:788: +1, including nesting penalty of 0, nesting level increased to 1
if (enable_pipeline_x) {
^be/src/runtime/fragment_mgr.cpp:800: +2, including nesting penalty of 1, nesting level increased to 2
if (!prepare_st.ok()) {
^be/src/runtime/fragment_mgr.cpp:808: +2, including nesting penalty of 1, nesting level increased to 2
for (size_t i = 0; i < params.local_params.size(); i++) {
^be/src/runtime/fragment_mgr.cpp:810: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:810: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:813: +3, including nesting penalty of 2, nesting level increased to 3
if (!i && handler) {
^be/src/runtime/fragment_mgr.cpp:813: +1
if (!i && handler) {
^be/src/runtime/fragment_mgr.cpp:820: +3, including nesting penalty of 2, nesting level increased to 3
if (iter != _pipeline_map.end()) {
^be/src/runtime/fragment_mgr.cpp:827: +3, including nesting penalty of 2, nesting level increased to 3
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:827: +1
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:842: +2, including nesting penalty of 1, nesting level increased to 2
RETURN_IF_ERROR(query_ctx->map_pipeline_context(
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:842: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(query_ctx->map_pipeline_context(
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:849: +2, including nesting penalty of 1, nesting level increased to 2
RETURN_IF_ERROR(context->submit());
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:849: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(context->submit());
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:851: +1, nesting level increased to 1
} else {
^be/src/runtime/fragment_mgr.cpp:852: nesting level increased to 2
auto pre_and_submit = [&](int i) {
^be/src/runtime/fragment_mgr.cpp:859: +3, including nesting penalty of 2, nesting level increased to 3
if (iter != _pipeline_map.end()) {
^be/src/runtime/fragment_mgr.cpp:867: +3, including nesting penalty of 2, nesting level increased to 3
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:867: +1
if (!params.__isset.need_wait_execution_trigger ||
^be/src/runtime/fragment_mgr.cpp:882: +3, including nesting penalty of 2, nesting level increased to 3
if (!prepare_st.ok()) {
^be/src/runtime/fragment_mgr.cpp:892: +3, including nesting penalty of 2, nesting level increased to 3
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:892: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_runtimefilter_controller.add_entity(
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:895: +3, including nesting penalty of 2, nesting level increased to 3
if (i == 0 && handler) {
^be/src/runtime/fragment_mgr.cpp:895: +1
if (i == 0 && handler) {
^be/src/runtime/fragment_mgr.cpp:910: +2, including nesting penalty of 1, nesting level increased to 2
if (local_params.__isset.runtime_filter_params) {
^be/src/runtime/fragment_mgr.cpp:911: +3, including nesting penalty of 2, nesting level increased to 3
if (local_params.__isset.runtime_filter_params) {
^be/src/runtime/fragment_mgr.cpp:916: +2, including nesting penalty of 1, nesting level increased to 2
if (local_params.__isset.topn_filter_source_node_ids) {
^be/src/runtime/fragment_mgr.cpp:918: +1, nesting level increased to 2
} else {
^be/src/runtime/fragment_mgr.cpp:922: +2, including nesting penalty of 1, nesting level increased to 2
if (target_size > 1) {
^be/src/runtime/fragment_mgr.cpp:928: +3, including nesting penalty of 2, nesting level increased to 3
for (size_t i = 0; i < target_size; i++) {
^be/src/runtime/fragment_mgr.cpp:929: +4, including nesting penalty of 3, nesting level increased to 4
RETURN_IF_ERROR(_thread_pool->submit_func([&, i]() {
^be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'
do { \
^be/src/runtime/fragment_mgr.cpp:929: +5, including nesting penalty of 4, nesting level increased to 5
RETURN_IF_ERROR(_thread_pool->submit_func([&, i]() {
^be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'
if (UNLIKELY(!_status_.ok())) { \
^be/src/runtime/fragment_mgr.cpp:940: +3, including nesting penalty of 2, nesting level increased to 3
if (prepare_done != target_size) {
^be/src/runtime/fragment_mgr.cpp:943: +4, including nesting penalty of 3, nesting level increased to 4
for (size_t i = 0; i < target_size; i++) {
^be/src/runtime/fragment_mgr.cpp:944: +5, including nesting penalty of 4, nesting level increased to 5
if (!prepare_status[i].ok()) {
^be/src/runtime/fragment_mgr.cpp:950: +1, nesting level increased to 2
} else {
^| using ForEachFunc = std::function<void(const int, PipelineFragmentContextWrapper&)>; | ||
| void for_each_pipeline_context(ForEachFunc for_each_func); | ||
| using MaphFunc = std::function<void(PipelineFragmentContextWrapper&)>; | ||
| Status map_pipeline_context(MaphFunc map_func, const int fragment_id); |
There was a problem hiding this comment.
warning: parameter 'fragment_id' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls]
| Status map_pipeline_context(MaphFunc map_func, const int fragment_id); | |
| Status map_pipeline_context(MaphFunc map_func, int fragment_id); |
| // Note: this does not take a const RuntimeProfile&, because it might need to call | ||
| // functions like PrettyPrint() or to_thrift(), neither of which is const | ||
| // because they take locks. | ||
| static std::shared_ptr<PipelineFragmentContext> fake_context; |
There was a problem hiding this comment.
Do not use global static variable, we do not know when it is deconstruted.
| }; | ||
|
|
||
| struct PipelineFragmentContextWrapper { | ||
| bool valid = false; |
There was a problem hiding this comment.
if valid variable is useless, then the wrapper is useless
| } | ||
| } | ||
|
|
||
| Status QueryContext::cancel_pipeline_context(const int fragment_id, |
There was a problem hiding this comment.
warning: method 'cancel_pipeline_context' can be made static [readability-convert-member-functions-to-static]
| Status QueryContext::cancel_pipeline_context(const int fragment_id, | |
| static Status QueryContext::cancel_pipeline_context(const int fragment_id, |
|
|
||
| void cancel_all_pipeline_context(const PPlanFragmentCancelReason& reason, | ||
| const std::string& msg); | ||
| Status cancel_pipeline_context(const int fragment_id, const PPlanFragmentCancelReason& reason, |
There was a problem hiding this comment.
warning: parameter 'fragment_id' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls]
| Status cancel_pipeline_context(const int fragment_id, const PPlanFragmentCancelReason& reason, | |
| Status cancel_pipeline_context(int fragment_id, const PPlanFragmentCancelReason& reason, |
| const std::string& msg); | ||
| Status cancel_pipeline_context(const int fragment_id, const PPlanFragmentCancelReason& reason, | ||
| const std::string& msg); | ||
| void set_pipeline_context(const int fragment_id, |
There was a problem hiding this comment.
warning: parameter 'fragment_id' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls]
| void set_pipeline_context(const int fragment_id, | |
| void set_pipeline_context(int fragment_id, |
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
|
TeamCity be ut coverage result: |
Proposed changes
Issue Number: close #xxx
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...