提交 81589042 编写于 作者: O obdev 提交者: ob-robot

fix adjust_global_merge_info when max_frozen_status.frozen_scn_ = 1

上级 1e90e300
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册