check NULL for mtl_init && mtl_wait

This commit is contained in:
obdev
2024-04-30 04:50:57 +00:00
committed by ob-robot
parent 963b0090aa
commit f2627c972a
2 changed files with 14 additions and 8 deletions

View File

@ -250,6 +250,7 @@ using ObTableScanIteratorObjPool = common::ObServerObjectPool<oceanbase::storage
MTL_LIST( \ MTL_LIST( \
blocksstable::ObDecodeResourcePool*, \ blocksstable::ObDecodeResourcePool*, \
omt::ObSharedTimer*, \ omt::ObSharedTimer*, \
oceanbase::sql::ObTenantSQLSessionMgr*, \
storage::ObTenantMetaMemMgr*, \ storage::ObTenantMetaMemMgr*, \
storage::ObTenantFTPluginMgr*, \ storage::ObTenantFTPluginMgr*, \
ObPartTransCtxObjPool*, \ ObPartTransCtxObjPool*, \
@ -349,7 +350,6 @@ using ObTableScanIteratorObjPool = common::ObServerObjectPool<oceanbase::storage
storage::ObEmptyReadBucket*, \ storage::ObEmptyReadBucket*, \
TenantErrsimModule \ TenantErrsimModule \
TenantErrsimEvent \ TenantErrsimEvent \
oceanbase::sql::ObTenantSQLSessionMgr*, \
storage::ObTenantDirectLoadMgr*, \ storage::ObTenantDirectLoadMgr*, \
oceanbase::common::ObOptStatMonitorManager*, \ oceanbase::common::ObOptStatMonitorManager*, \
omt::ObTenantSrs*, \ omt::ObTenantSrs*, \

View File

@ -131,19 +131,23 @@ int ObTenantSQLSessionMgr::mtl_new(ObTenantSQLSessionMgr *&t_session_mgr)
int ObTenantSQLSessionMgr::mtl_init(ObTenantSQLSessionMgr *&t_session_mgr) int ObTenantSQLSessionMgr::mtl_init(ObTenantSQLSessionMgr *&t_session_mgr)
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
if (t_session_mgr != NULL) {
if (OB_FAIL(t_session_mgr->init())) { if (OB_FAIL(t_session_mgr->init())) {
LOG_WARN("failed to init tenant session manager", K(ret)); LOG_WARN("failed to init tenant session manager", K(ret));
} }
}
return ret; return ret;
} }
void ObTenantSQLSessionMgr::mtl_wait(ObTenantSQLSessionMgr *&t_session_mgr) void ObTenantSQLSessionMgr::mtl_wait(ObTenantSQLSessionMgr *&t_session_mgr)
{ {
if (t_session_mgr != NULL) {
while (t_session_mgr->count() != 0) { while (t_session_mgr->count() != 0) {
LOG_WARN_RET(OB_NEED_RETRY, "tenant session mgr should be empty", LOG_WARN_RET(OB_NEED_RETRY, "tenant session mgr should be empty",
K(t_session_mgr->count())); K(t_session_mgr->count()));
usleep(1000 * 1000); usleep(1000 * 1000);
} }
}
LOG_INFO("success to wait tenant session mgr"); LOG_INFO("success to wait tenant session mgr");
} }
@ -165,8 +169,10 @@ ObSQLSessionInfo *ObTenantSQLSessionMgr::alloc_session()
OX (session = op_instance_alloc_args(&session_allocator_, OX (session = op_instance_alloc_args(&session_allocator_,
ObSQLSessionInfo, ObSQLSessionInfo,
tenant_id_)); tenant_id_));
if (session != NULL) {
OX (ATOMIC_FAA(&count_, 1)); OX (ATOMIC_FAA(&count_, 1));
} }
}
OV (OB_NOT_NULL(session)); OV (OB_NOT_NULL(session));
OX (session->set_tenant_session_mgr(this)); OX (session->set_tenant_session_mgr(this));
OX (session->set_valid(true)); OX (session->set_valid(true));