From 401e98e126ddf1c335d54516e92d96cdbd9de7be Mon Sep 17 00:00:00 2001 From: obdev Date: Mon, 20 Mar 2023 22:09:09 +0800 Subject: [PATCH] fix diagnose replay return OB_STATE_NOT_MATCH --- src/logservice/replayservice/ob_log_replay_service.cpp | 4 +++- src/logservice/replayservice/ob_replay_status.cpp | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/logservice/replayservice/ob_log_replay_service.cpp b/src/logservice/replayservice/ob_log_replay_service.cpp index 6127bd7000..03b4d62a5a 100644 --- a/src/logservice/replayservice/ob_log_replay_service.cpp +++ b/src/logservice/replayservice/ob_log_replay_service.cpp @@ -181,6 +181,8 @@ int ObLogReplayService::init(PalfEnv *palf_env, { int ret = OB_SUCCESS; const uint64_t MAP_TENANT_ID = MTL_ID(); + omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MAP_TENANT_ID)); + int64_t thread_quota = std::max(1L, static_cast(tenant_config.is_valid() ? tenant_config->cpu_quota_concurrency : 4)); if (is_inited_) { ret = OB_INIT_TWICE; @@ -192,7 +194,7 @@ int ObLogReplayService::init(PalfEnv *palf_env, CLOG_LOG(WARN, "invalid argument", K(ret), KP(palf_env), KP(ls_adapter), KP(allocator)); } else if (OB_FAIL(TG_CREATE_TENANT(lib::TGDefIDs::ReplayService, tg_id_))) { CLOG_LOG(WARN, "fail to create thread group", K(ret)); - } else if (OB_FAIL(MTL_REGISTER_THREAD_DYNAMIC(1, tg_id_))) { + } else if (OB_FAIL(MTL_REGISTER_THREAD_DYNAMIC(thread_quota, tg_id_))) { CLOG_LOG(WARN, "MTL_REGISTER_THREAD_DYNAMIC failed", K(ret), K(tg_id_)); } else if (OB_FAIL(replay_status_map_.init("REPLAY_STATUS", MAP_TENANT_ID))) { CLOG_LOG(WARN, "replay_status_map_ init error", K(ret)); diff --git a/src/logservice/replayservice/ob_replay_status.cpp b/src/logservice/replayservice/ob_replay_status.cpp index a5dd49d3bf..835ff1d341 100644 --- a/src/logservice/replayservice/ob_replay_status.cpp +++ b/src/logservice/replayservice/ob_replay_status.cpp @@ -1380,8 +1380,10 @@ int ObReplayStatus::diagnose(ReplayDiagnoseInfo &diagnose_info) } else if (0 < retry_cost || 0 < replay_cost) { replay_ret = OB_EAGAIN; } - if (OB_SUCC(ret)) { - if (OB_FAIL(diagnose_info.diagnose_str_.append_fmt("ret:%d; " + if (OB_SUCC(ret) || OB_STATE_NOT_MATCH == ret) { + ret = OB_SUCCESS; + if (OB_FAIL(diagnose_info.diagnose_str_.append_fmt("is_enabled:%s" + "ret:%d; " "min_unreplayed_lsn:%ld; " "min_unreplayed_scn:%lu; " "replay_hint:%ld; " @@ -1389,6 +1391,7 @@ int ObReplayStatus::diagnose(ReplayDiagnoseInfo &diagnose_info) "replay_cost:%ld; " "retry_cost:%ld; " "first_handle_time:%ld;" , + is_enabled_? "true" : "false", replay_ret, min_unreplayed_lsn.val_, min_unreplayed_scn.get_val_for_inner_table_field(), replay_hint, is_submit_err ? "REPLAY_SUBMIT" : log_type_str,