defence null info_param of dag warning info

This commit is contained in:
a1iive
2023-11-20 16:10:47 +00:00
committed by ob-robot
parent add6cefad8
commit 581e376ca0
3 changed files with 9 additions and 1 deletions

View File

@ -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));
} }

View File

@ -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(

View File

@ -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_))) {