Fix ddl refresh schema version not working during reboot
This commit is contained in:
@ -1879,11 +1879,11 @@ int ObConstraintTask::check_health()
|
||||
switch_status(new_status, false, ret);
|
||||
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
|
||||
}
|
||||
}
|
||||
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
|
||||
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|
||||
ret = OB_SUCCESS; // allow clean up
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -1293,11 +1293,11 @@ int ObDDLRedefinitionTask::check_health()
|
||||
switch_status(new_status, false, ret);
|
||||
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
|
||||
}
|
||||
}
|
||||
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
|
||||
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|
||||
ret = OB_SUCCESS; // allow clean up
|
||||
}
|
||||
}
|
||||
check_ddl_task_execute_too_long();
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -538,10 +538,6 @@ int ObDDLRetryTask::check_health()
|
||||
} else if (OB_FAIL(refresh_schema_version())) {
|
||||
LOG_WARN("refresh schema version failed", K(ret));
|
||||
}
|
||||
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
|
||||
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|
||||
ret = OB_SUCCESS; // allow clean up
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -1058,7 +1058,7 @@ int ObDDLTask::refresh_schema_version()
|
||||
int64_t refreshed_schema_version = 0;
|
||||
if (OB_FAIL(schema_service.get_tenant_refreshed_schema_version(tenant_id_, refreshed_schema_version))) {
|
||||
LOG_WARN("get refreshed schema version failed", K(ret), K(tenant_id_));
|
||||
} else if (refreshed_schema_version < schema_version_) {
|
||||
} else if (!ObSchemaService::is_formal_version(refreshed_schema_version) || refreshed_schema_version < schema_version_) {
|
||||
ret = OB_SCHEMA_EAGAIN;
|
||||
if (REACH_TIME_INTERVAL(1000L * 1000L)) {
|
||||
LOG_INFO("tenant schema not refreshed to the target version", K(ret), K(tenant_id_), K(schema_version_), K(refreshed_schema_version));
|
||||
|
||||
@ -533,11 +533,11 @@ int ObIndexBuildTask::check_health()
|
||||
switch_status(new_status, false, ret);
|
||||
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
|
||||
}
|
||||
}
|
||||
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
|
||||
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|
||||
ret = OB_SUCCESS; // allow clean up
|
||||
}
|
||||
}
|
||||
check_ddl_task_execute_too_long();
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -557,11 +557,11 @@ int ObModifyAutoincTask::check_health()
|
||||
switch_status(new_status, false, ret);
|
||||
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
|
||||
}
|
||||
}
|
||||
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
|
||||
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|
||||
ret = OB_SUCCESS; // allow clean up
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user