This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 316ab01afe20d4673dda5ca3ba41b00def748a6b Author: zhengyu <[email protected]> AuthorDate: Mon Aug 21 21:00:49 2023 +0800 [fix](InternalService) add short-cut return when offer failed (#23239) During offer_failed(), rpc done will be executed so the response will be sent and released. Further access to such object will cause NPE error. So let us just return after offer_failed(). --- be/src/service/internal_service.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/be/src/service/internal_service.cpp b/be/src/service/internal_service.cpp index 1bbecfca4e..2e35ca99ef 100644 --- a/be/src/service/internal_service.cpp +++ b/be/src/service/internal_service.cpp @@ -274,6 +274,7 @@ void PInternalServiceImpl::tablet_writer_open(google::protobuf::RpcController* c }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -286,6 +287,7 @@ void PInternalServiceImpl::exec_plan_fragment(google::protobuf::RpcController* c }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -322,6 +324,7 @@ void PInternalServiceImpl::exec_plan_fragment_prepare(google::protobuf::RpcContr }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -338,6 +341,7 @@ void PInternalServiceImpl::exec_plan_fragment_start(google::protobuf::RpcControl }); if (!ret) { offer_failed(result, done, _light_work_pool); + return; } } @@ -350,6 +354,7 @@ void PInternalServiceImpl::tablet_writer_add_block(google::protobuf::RpcControll }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -371,6 +376,7 @@ void PInternalServiceImpl::tablet_writer_add_block_by_http( }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -400,6 +406,7 @@ void PInternalServiceImpl::_tablet_writer_add_block(google::protobuf::RpcControl }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -421,6 +428,7 @@ void PInternalServiceImpl::tablet_writer_cancel(google::protobuf::RpcController* }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -498,6 +506,7 @@ void PInternalServiceImpl::cancel_plan_fragment(google::protobuf::RpcController* }); if (!ret) { offer_failed(result, done, _light_work_pool); + return; } } @@ -511,6 +520,7 @@ void PInternalServiceImpl::fetch_data(google::protobuf::RpcController* controlle }); if (!ret) { offer_failed(result, done, _heavy_work_pool); + return; } } @@ -615,6 +625,7 @@ void PInternalServiceImpl::fetch_table_schema(google::protobuf::RpcController* c }); if (!ret) { offer_failed(result, done, _heavy_work_pool); + return; } } @@ -642,6 +653,7 @@ void PInternalServiceImpl::tablet_fetch_data(google::protobuf::RpcController* co }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -654,6 +666,7 @@ void PInternalServiceImpl::get_column_ids_by_tablet_ids(google::protobuf::RpcCon }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -770,6 +783,7 @@ void PInternalServiceImpl::get_info(google::protobuf::RpcController* controller, }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -782,6 +796,7 @@ void PInternalServiceImpl::update_cache(google::protobuf::RpcController* control }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -794,6 +809,7 @@ void PInternalServiceImpl::fetch_cache(google::protobuf::RpcController* controll }); if (!ret) { offer_failed(result, done, _heavy_work_pool); + return; } } @@ -806,6 +822,7 @@ void PInternalServiceImpl::clear_cache(google::protobuf::RpcController* controll }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -825,6 +842,7 @@ void PInternalServiceImpl::merge_filter(::google::protobuf::RpcController* contr }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -846,6 +864,7 @@ void PInternalServiceImpl::apply_filter(::google::protobuf::RpcController* contr }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -867,6 +886,7 @@ void PInternalServiceImpl::apply_filterv2(::google::protobuf::RpcController* con }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -900,6 +920,7 @@ void PInternalServiceImpl::send_data(google::protobuf::RpcController* controller }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -923,6 +944,7 @@ void PInternalServiceImpl::commit(google::protobuf::RpcController* controller, }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -945,6 +967,7 @@ void PInternalServiceImpl::rollback(google::protobuf::RpcController* controller, }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -963,6 +986,7 @@ void PInternalServiceImpl::fold_constant_expr(google::protobuf::RpcController* c }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -997,6 +1021,7 @@ void PInternalServiceImpl::transmit_block(google::protobuf::RpcController* contr }); if (!ret) { offer_failed(response, done, pool); + return; } } @@ -1015,6 +1040,7 @@ void PInternalServiceImpl::transmit_block_by_http(google::protobuf::RpcControlle }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -1081,6 +1107,7 @@ void PInternalServiceImpl::check_rpc_channel(google::protobuf::RpcController* co }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -1119,6 +1146,7 @@ void PInternalServiceImpl::reset_rpc_channel(google::protobuf::RpcController* co }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -1135,6 +1163,7 @@ void PInternalServiceImpl::hand_shake(google::protobuf::RpcController* controlle }); if (!ret) { offer_failed(response, done, _light_work_pool); + return; } } @@ -1353,6 +1382,7 @@ void PInternalServiceImpl::request_slave_tablet_pull_rowset( }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } Status::OK().to_protobuf(response->mutable_status()); } @@ -1424,6 +1454,7 @@ void PInternalServiceImpl::response_slave_tablet_pull_rowset( }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -1597,6 +1628,7 @@ void PInternalServiceImpl::multiget_data(google::protobuf::RpcController* contro }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } @@ -1627,6 +1659,7 @@ void PInternalServiceImpl::glob(google::protobuf::RpcController* controller, }); if (!ret) { offer_failed(response, done, _heavy_work_pool); + return; } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
