fix some pitr bugs
This commit is contained in:
@ -350,7 +350,12 @@ int ObImportTableJobScheduler::canceling_(share::ObImportTableJob &job)
|
||||
} else if (!is_exist) {
|
||||
} else {
|
||||
LOG_INFO("[IMPORT_TABLE]cancel import table task", K(arg));
|
||||
if (OB_FAIL(ObDDLServerClient::abort_redef_table(arg))) {
|
||||
share::ObTaskId trace_id(*ObCurTraceId::get_trace_id());
|
||||
ObImportResult result;
|
||||
if (OB_FAIL(result.set_result(OB_CANCELED, trace_id, GCONF.self_addr_))) {
|
||||
LOG_WARN("failed to set result", K(ret));
|
||||
} else if (OB_FALSE_IT(task.set_result(result))) {
|
||||
} else if (OB_FAIL(ObDDLServerClient::abort_redef_table(arg))) {
|
||||
LOG_WARN("failed to abort redef table", K(ret), K(arg));
|
||||
} else if (OB_FAIL(task_helper_.advance_status(*sql_proxy_, task, next_status))) {
|
||||
LOG_WARN("failed to cancel import task", K(ret), K(task));
|
||||
@ -536,8 +541,17 @@ int ObImportTableTaskScheduler::try_advance_status_(const int err_code)
|
||||
int ret = OB_SUCCESS;
|
||||
if (OB_FAIL(err_code) && ObImportTableUtil::can_retrieable_err(err_code)) { // do nothing
|
||||
} else {
|
||||
|
||||
share::ObImportTableTaskStatus next_status = import_task_->get_status().get_next_status(err_code);
|
||||
if (OB_FAIL(helper_.advance_status(*sql_proxy_, *import_task_, next_status))) {
|
||||
if (import_task_->get_result().is_succeed()) { // avoid to cover comment
|
||||
share::ObTaskId trace_id(*ObCurTraceId::get_trace_id());
|
||||
ObImportResult result;
|
||||
if (OB_FAIL(result.set_result(err_code, trace_id, GCONF.self_addr_))) {
|
||||
LOG_WARN("failed to set result", K(ret));
|
||||
} else if (OB_FALSE_IT(import_task_->set_result(result))) {
|
||||
}
|
||||
}
|
||||
if (FAILEDx(helper_.advance_status(*sql_proxy_, *import_task_, next_status))) {
|
||||
LOG_WARN("failed to advance status", K(ret), KPC_(import_task), K(next_status));
|
||||
}
|
||||
}
|
||||
@ -667,6 +681,7 @@ int ObImportTableTaskScheduler::construct_import_table_schema_(
|
||||
target_table_schema.set_data_table_id(0);
|
||||
target_table_schema.clear_constraint();
|
||||
target_table_schema.clear_foreign_key_infos();
|
||||
target_table_schema.set_table_state_flag(ObTableStateFlag::TABLE_STATE_NORMAL);
|
||||
|
||||
uint64_t database_id = OB_INVALID_ID;
|
||||
if (OB_FAIL(target_tenant_guard.get_database_id(import_task_->get_tenant_id(),
|
||||
|
||||
@ -363,11 +363,6 @@ int ObImportTableTask::parse_from(common::sqlclient::ObMySQLResult &result)
|
||||
bool is_succeed = true;
|
||||
if (0 == STRCMP("FAILED", result_buf)) {
|
||||
is_succeed = false;
|
||||
} else if (0 == STRCMP("SUCCEESS", result_buf)) {
|
||||
is_succeed = true;
|
||||
} else {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("invalid result str", K(ret));
|
||||
}
|
||||
result_.set_result(is_succeed, comment);
|
||||
}
|
||||
|
||||
@ -4990,7 +4990,7 @@ int ObRecoverTableResolver::resolve(const ParseNode &parse_tree)
|
||||
} else if (OB_NOT_NULL(parse_tree.children_[8])
|
||||
&& OB_FAIL(Util::resolve_string(parse_tree.children_[8], stmt->get_rpc_arg().restore_tenant_arg_.description_))) {
|
||||
LOG_WARN("failed to resolve desc", K(ret));
|
||||
#ifndef OB_BUILD_TDE_SECURITY
|
||||
#ifdef OB_BUILD_TDE_SECURITY
|
||||
} else if (OB_FAIL(resolve_kms_info_(
|
||||
stmt->get_rpc_arg().restore_tenant_arg_.restore_option_, stmt->get_rpc_arg().restore_tenant_arg_.kms_info_))) {
|
||||
LOG_WARN("failed to resolve kms info", K(ret));
|
||||
@ -5322,7 +5322,7 @@ int ObRecoverTableResolver::resolve_backup_set_pwd_(common::ObString &pwd)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifndef OB_BUILD_TDE_SECURITY
|
||||
#ifdef OB_BUILD_TDE_SECURITY
|
||||
int ObRecoverTableResolver::resolve_kms_info_(const common::ObString &restore_option, common::ObString &kms_info)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
||||
@ -275,7 +275,7 @@ private:
|
||||
const ParseNode *node, share::ObImportRemapArg &remap_arg);
|
||||
int resolve_remap_tablespaces_(
|
||||
const ParseNode *node, share::ObImportRemapArg &remap_arg);
|
||||
#ifndef OB_BUILD_TDE_SECURITY
|
||||
#ifdef OB_BUILD_TDE_SECURITY
|
||||
int resolve_kms_info_(const common::ObString &restore_option, common::ObString &kms_info);
|
||||
#endif
|
||||
int resolve_backup_set_pwd_(common::ObString &pwd);
|
||||
|
||||
Reference in New Issue
Block a user