From 52efbcb6b04facd16a14a84860d22bf187365c39 Mon Sep 17 00:00:00 2001 From: yangqise7en <877793735@qq.com> Date: Thu, 2 Nov 2023 04:39:10 +0000 Subject: [PATCH] fix zone merge info defense --- src/rootserver/freeze/ob_zone_merge_manager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/rootserver/freeze/ob_zone_merge_manager.cpp b/src/rootserver/freeze/ob_zone_merge_manager.cpp index ba1d498dac..5199a02765 100644 --- a/src/rootserver/freeze/ob_zone_merge_manager.cpp +++ b/src/rootserver/freeze/ob_zone_merge_manager.cpp @@ -359,8 +359,9 @@ int ObZoneMergeManagerBase::finish_zone_merge( ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid argument", KR(ret), K(zone), K_(tenant_id), K(new_last_merged_scn), K(new_all_merged_scn)); - } else if ((new_last_merged_scn != zone_merge_infos_[idx].broadcast_scn()) - || (new_last_merged_scn <= zone_merge_infos_[idx].last_merged_scn())) { + } else if (new_last_merged_scn > zone_merge_infos_[idx].broadcast_scn()) { + // do nothing, this zone may not execute current round major + } else if (new_last_merged_scn <= zone_merge_infos_[idx].last_merged_scn()) { ret = OB_INVALID_ARGUMENT; LOG_ERROR("invalid merged_scn", KR(ret), K(zone), K_(tenant_id), K(new_last_merged_scn), K(new_all_merged_scn), @@ -402,7 +403,8 @@ int ObZoneMergeManagerBase::finish_zone_merge( } } - LOG_INFO("finish zone merge", KR(ret), K_(tenant_id), K(zone), K(new_last_merged_scn), K(new_all_merged_scn)); + LOG_INFO("finish zone merge", KR(ret), K_(tenant_id), K(zone), K(new_last_merged_scn), K(new_all_merged_scn), + "zone_merge_info", zone_merge_infos_[idx]); return ret; }