From 38278be8b07917f629f75c9dbff0eda8960c80f6 Mon Sep 17 00:00:00 2001 From: BinChenn Date: Mon, 6 Feb 2023 15:44:30 +0800 Subject: [PATCH] [Arb Fix] fix possible core dump in arb server --- mittest/logservice/env/ob_simple_arb_server.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mittest/logservice/env/ob_simple_arb_server.cpp b/mittest/logservice/env/ob_simple_arb_server.cpp index 662e2c48a6..382933229a 100644 --- a/mittest/logservice/env/ob_simple_arb_server.cpp +++ b/mittest/logservice/env/ob_simple_arb_server.cpp @@ -147,8 +147,8 @@ int ObSimpleArbServer::simple_init(const std::string &cluster_name, void ObSimpleArbServer::destroy() { is_inited_ = false; - palf_env_mgr_.destroy(); srv_network_frame_.destroy(); + palf_env_mgr_.destroy(); timer_.destroy(); } @@ -157,7 +157,7 @@ int ObSimpleArbServer::simple_start(const bool is_bootstrat) { int ret = OB_SUCCESS; palflite::PalfEnvKey key(cluster_id_, OB_SERVER_TENANT_ID); - if (true == is_bootstrat && OB_FAIL(srv_network_frame_.start())) { + if (OB_FAIL(srv_network_frame_.start())) { CLOG_LOG(WARN, "start ObArbSrvNetWorkFrame failed", K(ret)); } else if (OB_FAIL(palf_env_mgr_.create_palf_env_lite(key))) { CLOG_LOG(WARN, "PalfEnvLiteMgr create_palf_env_lite failed", K(ret)); @@ -183,10 +183,14 @@ int ObSimpleArbServer::simple_restart(const std::string &cluster_name, const int64_t node_idx) { int ret = OB_SUCCESS; + srv_network_frame_.deliver_.stop(); palf_env_mgr_.destroy(); timer_.destroy(); if (OB_FAIL(simple_init(cluster_name, self_, node_idx, false))) { CLOG_LOG(WARN, "simple_init failed", K(ret)); + } else if (OB_FAIL(srv_network_frame_.deliver_.start(srv_network_frame_.normal_rpc_qhandler_, + srv_network_frame_.server_rpc_qhandler_))) { + CLOG_LOG(WARN, "start ObArbSrvNetWorkFrame failed", K(ret)); } else if (OB_FAIL(timer_.start())) { CLOG_LOG(WARN, "timer start failed", K(ret)); } -- GitLab