diff --git a/be/src/runtime/fragment_mgr.cpp b/be/src/runtime/fragment_mgr.cpp index 3e1f0f81d2a09a1..c2a6681514e3cf8 100644 --- a/be/src/runtime/fragment_mgr.cpp +++ b/be/src/runtime/fragment_mgr.cpp @@ -1052,8 +1052,14 @@ void FragmentMgr::cancel_worker() { } } - for (auto it : brpc_stub_with_queries) { - _check_brpc_available(it.first, it.second); + if (config::enable_brpc_connection_check) { + for (auto it : brpc_stub_with_queries) { + if (!it.first) { + LOG(WARNING) << "brpc stub is nullptr, skip it."; + continue; + } + _check_brpc_available(it.first, it.second); + } } if (!queries_lost_coordinator.empty()) { diff --git a/be/src/vec/sink/vdata_stream_sender.cpp b/be/src/vec/sink/vdata_stream_sender.cpp index bba86f0ea117dca..d2da3f904e8ee63 100644 --- a/be/src/vec/sink/vdata_stream_sender.cpp +++ b/be/src/vec/sink/vdata_stream_sender.cpp @@ -70,19 +70,13 @@ Status Channel::init(RuntimeState* state) { return Status::OK(); } + auto network_address = _brpc_dest_addr; if (_brpc_dest_addr.hostname == BackendOptions::get_localhost()) { _brpc_stub = state->exec_env()->brpc_internal_client_cache()->get_client( "127.0.0.1", _brpc_dest_addr.port); - auto network_address = _brpc_dest_addr; network_address.hostname = "127.0.0.1"; - if (config::enable_brpc_connection_check) { - state->get_query_ctx()->add_using_brpc_stub(network_address, _brpc_stub); - } } else { _brpc_stub = state->exec_env()->brpc_internal_client_cache()->get_client(_brpc_dest_addr); - if (config::enable_brpc_connection_check) { - state->get_query_ctx()->add_using_brpc_stub(_brpc_dest_addr, _brpc_stub); - } } if (!_brpc_stub) { @@ -91,6 +85,10 @@ Status Channel::init(RuntimeState* state) { LOG(WARNING) << msg; return Status::InternalError(msg); } + + if (config::enable_brpc_connection_check) { + state->get_query_ctx()->add_using_brpc_stub(_brpc_dest_addr, _brpc_stub); + } return Status::OK(); }