fix adjust_global_merge_info when max_frozen_status.frozen_scn_ = 1
This commit is contained in:
parent
1e90e30019
commit
8158904233
@ -314,7 +314,7 @@ int ObMajorMergeScheduler::do_one_round_major_merge(const int64_t expected_epoch
|
||||
// no new zone to merge
|
||||
LOG_INFO("no more zone need to merge", K_(tenant_id));
|
||||
} else if (OB_FAIL(schedule_zones_to_merge(to_merge_zone, expected_epoch))) {
|
||||
LOG_WARN("fail to get next merge zones", KR(ret), K(to_merge_zone), K(expected_epoch));
|
||||
LOG_WARN("fail to schedule zones to merge", KR(ret), K(to_merge_zone), K(expected_epoch));
|
||||
}
|
||||
// Need to update_merge_status, even though to_merge_zone is empty.
|
||||
// E.g., in the 1st loop, already schedule all zones to merge, but not finish major merge.
|
||||
|
@ -915,11 +915,12 @@ int ObZoneMergeManagerBase::adjust_global_merge_info()
|
||||
} else {
|
||||
// Adjust global_merge_info in memory with (max_frozen_status.frozen_scn_ - 1).
|
||||
// So as to launch one major freeze with max_frozen_status.frozen_scn_.
|
||||
inner_adjust_global_merge_info(SCN::minus(max_frozen_status.frozen_scn_, 1));
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
LOG_INFO("succ to adjust global merge info", K_(tenant_id), "max_frozen_scn",
|
||||
max_frozen_status.frozen_scn_);
|
||||
// Note: only launch major freezes with frozen_scn > 1
|
||||
if (max_frozen_status.frozen_scn_ > SCN::base_scn()) {
|
||||
inner_adjust_global_merge_info(SCN::minus(max_frozen_status.frozen_scn_, 1));
|
||||
LOG_INFO("succ to adjust global merge info", K_(tenant_id), "max_frozen_scn",
|
||||
max_frozen_status.frozen_scn_, K_(global_merge_info));
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user