fix some pitr bugs
This commit is contained in:
@ -350,7 +350,12 @@ int ObImportTableJobScheduler::canceling_(share::ObImportTableJob &job)
|
|||||||
} else if (!is_exist) {
|
} else if (!is_exist) {
|
||||||
} else {
|
} else {
|
||||||
LOG_INFO("[IMPORT_TABLE]cancel import table task", K(arg));
|
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));
|
LOG_WARN("failed to abort redef table", K(ret), K(arg));
|
||||||
} else if (OB_FAIL(task_helper_.advance_status(*sql_proxy_, task, next_status))) {
|
} else if (OB_FAIL(task_helper_.advance_status(*sql_proxy_, task, next_status))) {
|
||||||
LOG_WARN("failed to cancel import task", K(ret), K(task));
|
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;
|
int ret = OB_SUCCESS;
|
||||||
if (OB_FAIL(err_code) && ObImportTableUtil::can_retrieable_err(err_code)) { // do nothing
|
if (OB_FAIL(err_code) && ObImportTableUtil::can_retrieable_err(err_code)) { // do nothing
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
share::ObImportTableTaskStatus next_status = import_task_->get_status().get_next_status(err_code);
|
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));
|
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.set_data_table_id(0);
|
||||||
target_table_schema.clear_constraint();
|
target_table_schema.clear_constraint();
|
||||||
target_table_schema.clear_foreign_key_infos();
|
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;
|
uint64_t database_id = OB_INVALID_ID;
|
||||||
if (OB_FAIL(target_tenant_guard.get_database_id(import_task_->get_tenant_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;
|
bool is_succeed = true;
|
||||||
if (0 == STRCMP("FAILED", result_buf)) {
|
if (0 == STRCMP("FAILED", result_buf)) {
|
||||||
is_succeed = false;
|
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);
|
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])
|
} 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_))) {
|
&& 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));
|
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_(
|
} 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_))) {
|
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));
|
LOG_WARN("failed to resolve kms info", K(ret));
|
||||||
@ -5322,7 +5322,7 @@ int ObRecoverTableResolver::resolve_backup_set_pwd_(common::ObString &pwd)
|
|||||||
return ret;
|
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 ObRecoverTableResolver::resolve_kms_info_(const common::ObString &restore_option, common::ObString &kms_info)
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
|
|||||||
@ -275,7 +275,7 @@ private:
|
|||||||
const ParseNode *node, share::ObImportRemapArg &remap_arg);
|
const ParseNode *node, share::ObImportRemapArg &remap_arg);
|
||||||
int resolve_remap_tablespaces_(
|
int resolve_remap_tablespaces_(
|
||||||
const ParseNode *node, share::ObImportRemapArg &remap_arg);
|
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);
|
int resolve_kms_info_(const common::ObString &restore_option, common::ObString &kms_info);
|
||||||
#endif
|
#endif
|
||||||
int resolve_backup_set_pwd_(common::ObString &pwd);
|
int resolve_backup_set_pwd_(common::ObString &pwd);
|
||||||
|
|||||||
Reference in New Issue
Block a user