fix both primary and restore major_freeze_service are paused or not paused
This commit is contained in:
@ -38,9 +38,9 @@ int ObMajorFreezeUtil::get_major_freeze_service(
|
|||||||
bool is_primary_service_paused = primary_major_freeze_service->is_paused();
|
bool is_primary_service_paused = primary_major_freeze_service->is_paused();
|
||||||
bool is_restore_service_paused = restore_major_freeze_service->is_paused();
|
bool is_restore_service_paused = restore_major_freeze_service->is_paused();
|
||||||
if (0 == (is_primary_service_paused ^ is_restore_service_paused)) {
|
if (0 == (is_primary_service_paused ^ is_restore_service_paused)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_LEADER_NOT_EXIST;
|
||||||
RS_LOG(ERROR, "both primary and restore major_freeze_service are paused or not paused",
|
RS_LOG(WARN, "both primary and restore major_freeze_service are paused or not paused, may be "
|
||||||
KR(ret), K(is_primary_service_paused), K(is_restore_service_paused));
|
"switching leader", KR(ret), K(is_primary_service_paused), K(is_restore_service_paused));
|
||||||
} else if (!is_primary_service_paused) {
|
} else if (!is_primary_service_paused) {
|
||||||
major_freeze_service = primary_major_freeze_service;
|
major_freeze_service = primary_major_freeze_service;
|
||||||
is_primary_service = true;
|
is_primary_service = true;
|
||||||
|
|||||||
@ -216,6 +216,9 @@ int ObTenantMajorFreeze::launch_major_freeze()
|
|||||||
ret = OB_MAJOR_FREEZE_NOT_ALLOW;
|
ret = OB_MAJOR_FREEZE_NOT_ALLOW;
|
||||||
LOG_WARN("enable_major_freeze is off, refuse to to major_freeze",
|
LOG_WARN("enable_major_freeze is off, refuse to to major_freeze",
|
||||||
K_(tenant_id), KR(ret));
|
K_(tenant_id), KR(ret));
|
||||||
|
} else if (merge_scheduler_.is_paused()) {
|
||||||
|
ret = OB_LEADER_NOT_EXIST;
|
||||||
|
LOG_WARN("leader may switch", KR(ret), K_(tenant_id));
|
||||||
} else if (OB_FAIL(merge_scheduler_.try_update_epoch_and_reload())) {
|
} else if (OB_FAIL(merge_scheduler_.try_update_epoch_and_reload())) {
|
||||||
LOG_WARN("fail to try_update_epoch_and_reload", KR(ret), K_(tenant_id));
|
LOG_WARN("fail to try_update_epoch_and_reload", KR(ret), K_(tenant_id));
|
||||||
} else if (OB_FAIL(check_freeze_info())) {
|
} else if (OB_FAIL(check_freeze_info())) {
|
||||||
|
|||||||
Reference in New Issue
Block a user