Skip to content

Commit

Permalink
[CP] fix memleak of ObBackupJobMgr ptr
Browse files Browse the repository at this point in the history
  • Loading branch information
hamstersox authored and ob-robot committed Nov 1, 2023
1 parent 7cb0fb4 commit 8a22c6f
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
10 changes: 5 additions & 5 deletions src/rootserver/backup/ob_backup_data_scheduler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -970,7 +970,7 @@ int ObBackupDataScheduler::process()
}
if (OB_NOT_NULL(job_mgr)) {
job_mgr->~ObIBackupJobMgr();
ObBackupJobMgrAlloctor::free(job_mgr);
ObBackupJobMgrAlloctor::free(tenant_id_, job_mgr);
job_mgr = nullptr;
}
return ret;
Expand Down Expand Up @@ -1845,16 +1845,16 @@ int ObBackupJobMgrAlloctor::alloc(const uint64_t tenant_id, ObIBackupJobMgr *&jo
return ret;
}

void ObBackupJobMgrAlloctor::free(ObIBackupJobMgr *job_mgr)
void ObBackupJobMgrAlloctor::free(const uint64_t tenant_id, ObIBackupJobMgr *job_mgr)
{
uint64_t tenant_id = OB_INVALID_TENANT_ID;
if (OB_ISNULL(job_mgr)) {
} else if (OB_FALSE_IT(tenant_id = job_mgr->get_tenant_id())) {
} else if (is_sys_tenant(tenant_id)) {
OB_DELETE(ObIBackupJobMgr, "SysJobMgr", job_mgr);
} else if (is_meta_tenant(tenant_id)) {
OB_DELETE(ObIBackupJobMgr, "UserJobMgr", job_mgr);
}
} else {
LOG_ERROR_RET(OB_ERR_UNEXPECTED, "not free backup job mgr, mem leak", K(tenant_id));
}
job_mgr = nullptr;
}

Expand Down
2 changes: 1 addition & 1 deletion src/rootserver/backup/ob_backup_data_scheduler.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ class ObBackupJobMgrAlloctor
{
public:
static int alloc(const uint64_t tenant_id, ObIBackupJobMgr *&job_mgr);
static void free(ObIBackupJobMgr *job_mgr);
static void free(const uint64_t tenant_id, ObIBackupJobMgr *job_mgr);
};

}
Expand Down

0 comments on commit 8a22c6f

Please sign in to comment.