fix alloc memory failed didn`t report -4013 and WhiteScan

This commit is contained in:
obdev
2022-11-08 03:37:52 +00:00
committed by wangzelin.wzl
parent 0d96a5fdf3
commit d7c4c48a70
3 changed files with 10 additions and 4 deletions

View File

@ -416,7 +416,7 @@ int ObDBMSJobMaster::scheduler_job(ObDBMSJobKey *job_key, bool is_retry)
} else {
int tmp = alive_jobs_.erase_refactored(job_info.get_job_id_with_tenant());
if (tmp != OB_SUCCESS) {
LOG_ERROR("failed delete valid job from hash set", K(ret), K(job_info));
LOG_INFO("failed delete valid job from hash set", K(ret), K(job_info));
}
allocator_.free(job_key); // job deleted!
}

View File

@ -1391,7 +1391,10 @@ int ObPLComposite::deep_copy(ObPLComposite &src,
if (NULL == dest) {
dest = reinterpret_cast<ObPLComposite*>(allocator.alloc(src.get_init_size()));
composite = static_cast<ObPLRecord*>(dest);
CK (OB_NOT_NULL(composite));
if (OB_ISNULL(composite)) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_WARN("allocate composite memory failed", K(ret));
}
LOG_INFO("src size is: ", K(src.get_init_size()), K(src));
OX (new(composite)ObPLRecord(src.get_id(), static_cast<ObPLRecord&>(src).get_count()));
} else {
@ -2095,7 +2098,10 @@ int ObPLCollection::set_row(const ObIArray<ObObj> &row, int64_t idx, bool deep_c
if (element_.is_record_type()) {
ObPLRecord *new_record = reinterpret_cast<ObPLRecord*>(
allocator_->alloc(ObRecordType::get_init_size(element_.get_field_count())));
CK (OB_NOT_NULL(new_record));
if (OB_ISNULL(new_record)) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_WARN("allocate composite memory failed", K(ret));
}
OX (new (new_record)ObPLRecord(element_.get_udt_id(), element_.get_field_count()));
OX (new_record->set_data(row));
OX (data_obj.set_extend(reinterpret_cast<int64_t>(new_record),

View File

@ -399,7 +399,7 @@ int ObResolverUtils::get_candidate_routines(ObSchemaChecker &schema_checker,
}
#define TRY_SYNONYM(synonym_name) \
if (OB_FAIL(ret) || 0 == routines.count()) { \
if ((OB_FAIL(ret) && OB_ALLOCATE_MEMORY_FAILED != ret) || 0 == routines.count()) { \
ret = OB_SUCCESS; \
bool exist = false; \
ObSynonymChecker synonym_checker; \