defence null info_param of dag warning info
This commit is contained in:
@ -147,6 +147,9 @@ int ObDagWarningHistoryManager::add_dag_warning_info(ObDagWarningInfo &input_inf
|
|||||||
if (IS_NOT_INIT) {
|
if (IS_NOT_INIT) {
|
||||||
ret = OB_NOT_INIT;
|
ret = OB_NOT_INIT;
|
||||||
COMMON_LOG(WARN, "ObDagWarningHistoryManager is not init", K(ret));
|
COMMON_LOG(WARN, "ObDagWarningHistoryManager is not init", K(ret));
|
||||||
|
} else if (OB_ISNULL(input_info.info_param_)) {
|
||||||
|
ret = OB_INVALID_ARGUMENT;
|
||||||
|
COMMON_LOG(WARN, "invalid argument. info param is null", K(ret), K(input_info));
|
||||||
} else if (OB_FAIL(alloc_and_add(input_info.get_hash(), &input_info))) {
|
} else if (OB_FAIL(alloc_and_add(input_info.get_hash(), &input_info))) {
|
||||||
COMMON_LOG(WARN, "failed to add dag warning info", K(ret));
|
COMMON_LOG(WARN, "failed to add dag warning info", K(ret));
|
||||||
}
|
}
|
||||||
|
@ -1266,7 +1266,9 @@ int ObIDagNet::add_dag_warning_info()
|
|||||||
dag_net = static_cast<compaction::ObCOMergeDagNet*>(this);
|
dag_net = static_cast<compaction::ObCOMergeDagNet*>(this);
|
||||||
}
|
}
|
||||||
if (OB_NOT_NULL(first_fail_dag_info_) && is_cancel()) { // is_cancel means co dag net failed in the end
|
if (OB_NOT_NULL(first_fail_dag_info_) && is_cancel()) { // is_cancel means co dag net failed in the end
|
||||||
if (OB_FAIL(MTL(ObDagWarningHistoryManager*)->add_dag_warning_info(*first_fail_dag_info_))) {
|
if (OB_ISNULL(first_fail_dag_info_->info_param_)) { // maybe caused by 4013
|
||||||
|
COMMON_LOG(INFO, "info param is null", K_(first_fail_dag_info));
|
||||||
|
} else if (OB_FAIL(MTL(ObDagWarningHistoryManager*)->add_dag_warning_info(*first_fail_dag_info_))) {
|
||||||
COMMON_LOG(WARN, "failed to add dag warning info", K(ret), KPC(this), KPC_(first_fail_dag_info));
|
COMMON_LOG(WARN, "failed to add dag warning info", K(ret), KPC(this), KPC_(first_fail_dag_info));
|
||||||
} else if (OB_NOT_NULL(dag_net)) {
|
} else if (OB_NOT_NULL(dag_net)) {
|
||||||
if (OB_TMP_FAIL(MTL(compaction::ObDiagnoseTabletMgr *)->add_diagnose_tablet(
|
if (OB_TMP_FAIL(MTL(compaction::ObDiagnoseTabletMgr *)->add_diagnose_tablet(
|
||||||
|
@ -300,6 +300,9 @@ int ObIDiagnoseInfoMgr::get_with_param(const int64_t key, ObIDiagnoseInfo *out_i
|
|||||||
if (OB_HASH_NOT_EXIST != ret) {
|
if (OB_HASH_NOT_EXIST != ret) {
|
||||||
STORAGE_LOG(WARN, "failed to get info from map", K(ret), K(key));
|
STORAGE_LOG(WARN, "failed to get info from map", K(ret), K(key));
|
||||||
}
|
}
|
||||||
|
} else if (OB_ISNULL(info->info_param_)) {
|
||||||
|
ret = OB_ERR_UNEXPECTED;
|
||||||
|
STORAGE_LOG(WARN, "info_param is null", K(ret), K(info));
|
||||||
} else {
|
} else {
|
||||||
out_info->shallow_copy(info);
|
out_info->shallow_copy(info);
|
||||||
if (OB_FAIL(info->info_param_->deep_copy(allocator, out_info->info_param_))) {
|
if (OB_FAIL(info->info_param_->deep_copy(allocator, out_info->info_param_))) {
|
||||||
|
Reference in New Issue
Block a user