Fix ddl refresh schema version not working during reboot

This commit is contained in:
Hongqin-Li
2023-07-28 03:12:15 +00:00
committed by ob-robot
parent eeea3e7708
commit f15a12aa7c
6 changed files with 17 additions and 21 deletions

View File

@ -1879,10 +1879,10 @@ int ObConstraintTask::check_health()
switch_status(new_status, false, ret); switch_status(new_status, false, ret);
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status)); LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
} }
} if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_) || ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) { ret = OB_SUCCESS; // allow clean up
ret = OB_SUCCESS; // allow clean up }
} }
return ret; return ret;
} }

View File

@ -1293,10 +1293,10 @@ int ObDDLRedefinitionTask::check_health()
switch_status(new_status, false, ret); switch_status(new_status, false, ret);
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status)); LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
} }
} if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_) || ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) { ret = OB_SUCCESS; // allow clean up
ret = OB_SUCCESS; // allow clean up }
} }
check_ddl_task_execute_too_long(); check_ddl_task_execute_too_long();
return ret; return ret;

View File

@ -538,10 +538,6 @@ int ObDDLRetryTask::check_health()
} else if (OB_FAIL(refresh_schema_version())) { } else if (OB_FAIL(refresh_schema_version())) {
LOG_WARN("refresh schema version failed", K(ret)); 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; return ret;
} }

View File

@ -1058,7 +1058,7 @@ int ObDDLTask::refresh_schema_version()
int64_t refreshed_schema_version = 0; int64_t refreshed_schema_version = 0;
if (OB_FAIL(schema_service.get_tenant_refreshed_schema_version(tenant_id_, refreshed_schema_version))) { 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_)); 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; ret = OB_SCHEMA_EAGAIN;
if (REACH_TIME_INTERVAL(1000L * 1000L)) { 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)); LOG_INFO("tenant schema not refreshed to the target version", K(ret), K(tenant_id_), K(schema_version_), K(refreshed_schema_version));

View File

@ -533,10 +533,10 @@ int ObIndexBuildTask::check_health()
switch_status(new_status, false, ret); switch_status(new_status, false, ret);
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status)); LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
} }
} if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_) || ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) { ret = OB_SUCCESS; // allow clean up
ret = OB_SUCCESS; // allow clean up }
} }
check_ddl_task_execute_too_long(); check_ddl_task_execute_too_long();
return ret; return ret;

View File

@ -557,10 +557,10 @@ int ObModifyAutoincTask::check_health()
switch_status(new_status, false, ret); switch_status(new_status, false, ret);
LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status)); LOG_WARN("switch status to build_failed", K(ret), K(old_status), K(new_status));
} }
} if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_)
if (ObDDLTaskStatus::FAIL == static_cast<ObDDLTaskStatus>(task_status_) || ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) {
|| ObDDLTaskStatus::SUCCESS == static_cast<ObDDLTaskStatus>(task_status_)) { ret = OB_SUCCESS; // allow clean up
ret = OB_SUCCESS; // allow clean up }
} }
return ret; return ret;
} }