Fix potential issue with IntermResultManager and DetectManager calling each other.
This commit is contained in:
parent
7068d87d04
commit
3b923d7b7e
@ -261,9 +261,15 @@ int ObSingleDfoDetectCB::do_callback()
|
||||
int ret = OB_SUCCESS;
|
||||
int clean_ret = OB_E(EventTable::EN_ENABLE_CLEAN_INTERM_RES) OB_SUCCESS;
|
||||
if (OB_SUCC(clean_ret)) {
|
||||
ret = MTL(sql::dtl::ObDTLIntermResultManager*)->erase_interm_result_info(key_, false);
|
||||
ret = ret == OB_HASH_NOT_EXIST ? OB_SUCCESS : ret;
|
||||
LIB_LOG(WARN, "[DM] single dfo erase_interm_result_info", K(ret), K(key_), K_(trace_id));
|
||||
dtl::ObDTLIntermResultManager *interm_res_manager = MTL(dtl::ObDTLIntermResultManager*);
|
||||
if (OB_ISNULL(interm_res_manager)) {
|
||||
LIB_LOG(WARN, "[DM] single dfo erase_interm_result_info, but interm_res_manager is null",
|
||||
K(ret), K(key_), K_(trace_id));
|
||||
} else {
|
||||
ret = interm_res_manager->erase_interm_result_info(key_, false);
|
||||
ret = ret == OB_HASH_NOT_EXIST ? OB_SUCCESS : ret;
|
||||
LIB_LOG(WARN, "[DM] single dfo erase_interm_result_info", K(ret), K(key_), K_(trace_id));
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -271,9 +277,15 @@ int ObSingleDfoDetectCB::do_callback()
|
||||
int ObTempTableDetectCB::do_callback()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ret = MTL(sql::dtl::ObDTLIntermResultManager*)->erase_interm_result_info(key_, false);
|
||||
ret = ret == OB_HASH_NOT_EXIST ? OB_SUCCESS : ret;
|
||||
LIB_LOG(WARN, "[DM] temp table erase_interm_result_info", K(ret), K(key_), K_(trace_id));
|
||||
dtl::ObDTLIntermResultManager *interm_res_manager = MTL(dtl::ObDTLIntermResultManager*);
|
||||
if (OB_ISNULL(interm_res_manager)) {
|
||||
LIB_LOG(WARN, "[DM] temp table erase_interm_result_info, but interm_res_manager is null",
|
||||
K(ret), K(key_), K_(trace_id));
|
||||
} else {
|
||||
ret = interm_res_manager->erase_interm_result_info(key_, false);
|
||||
ret = ret == OB_HASH_NOT_EXIST ? OB_SUCCESS : ret;
|
||||
LIB_LOG(WARN, "[DM] temp table erase_interm_result_info", K(ret), K(key_), K_(trace_id));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user