Return error code when freezer is offline
This commit is contained in:
parent
c571414825
commit
6e4074f04b
@ -330,6 +330,7 @@ int ObFreezer::logstream_freeze(bool is_tenant_freeze)
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("[Freezer] not inited", K(ret), K(ls_id));
|
||||
} else if (OB_UNLIKELY(!enable_)) {
|
||||
ret = OB_NOT_RUNNING;
|
||||
LOG_WARN("freezer is offline, can not freeze now", K(ret), K(ls_id));
|
||||
} else if (OB_FAIL(decide_max_decided_scn(max_decided_scn))) {
|
||||
TRANS_LOG(WARN, "[Freezer] decide max decided log ts failure", K(ret), K(ls_id));
|
||||
@ -469,6 +470,7 @@ int ObFreezer::tablet_freeze(const ObTabletID &tablet_id)
|
||||
ret = OB_NOT_INIT;
|
||||
TRANS_LOG(WARN, "[Freezer] not inited", K(ret), K(ls_id), K(tablet_id));
|
||||
} else if (OB_UNLIKELY(!enable_)) {
|
||||
ret = OB_NOT_RUNNING;
|
||||
LOG_WARN("freezer is offline, can not freeze now", K(ret), K(ls_id));
|
||||
} else if (OB_FAIL(guard.try_set_tablet_freeze_begin())) {
|
||||
// no need freeze now, a ls freeze is running or will be running
|
||||
@ -546,6 +548,7 @@ int ObFreezer::force_tablet_freeze(const ObTabletID &tablet_id)
|
||||
ret = OB_NOT_INIT;
|
||||
TRANS_LOG(WARN, "[Freezer] not inited", K(ret), K(ls_id), K(tablet_id));
|
||||
} else if (OB_UNLIKELY(!enable_)) {
|
||||
ret = OB_NOT_RUNNING;
|
||||
LOG_WARN("freezer is offline, can not freeze now", K(ret), K(ls_id));
|
||||
} else if (OB_FAIL(loop_set_freeze_flag())) {
|
||||
TRANS_LOG(WARN, "[Freezer] failed to set freeze_flag", K(ret), K(ls_id), K(tablet_id));
|
||||
@ -689,6 +692,9 @@ int ObFreezer::tablet_freeze_for_replace_tablet_meta(const ObTabletID &tablet_id
|
||||
if (IS_NOT_INIT) {
|
||||
ret = OB_NOT_INIT;
|
||||
TRANS_LOG(WARN, "[Freezer] not inited", K(ret), K(ls_id), K(tablet_id));
|
||||
} else if (OB_UNLIKELY(!enable_)) {
|
||||
ret = OB_NOT_RUNNING;
|
||||
LOG_WARN("freezer is offline, can not freeze now", K(ret), K(ls_id));
|
||||
} else if (OB_FAIL(guard.try_set_tablet_freeze_begin())) {
|
||||
// no need freeze now, a ls freeze is running or will be running
|
||||
ret = OB_SUCCESS;
|
||||
|
@ -207,9 +207,18 @@ int ObTenantFreezer::ls_freeze_(ObLS *ls)
|
||||
}
|
||||
} while (ret == OB_ENTRY_EXIST);
|
||||
if (OB_SUCC(ret)) {
|
||||
const int64_t start = ObTimeUtility::current_time();
|
||||
while (!ls->get_freezer()->is_ready_for_flush()) {
|
||||
const int64_t cost_time = ObTimeUtility::current_time() - start;
|
||||
if (cost_time > 5 * 1000 * 1000) {
|
||||
if (TC_REACH_TIME_INTERVAL(5 * 1000 * 1000)) {
|
||||
TRANS_LOG(WARN, "[TenantFreezer] cost too much time to wait ls ready_for_flush", K(ls->get_ls_id()), K(cost_time));
|
||||
}
|
||||
}
|
||||
ob_usleep(100);
|
||||
}
|
||||
} else if (OB_NOT_RUNNING == ret) {
|
||||
ret = OB_SUCCESS;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user