check NULL for mtl_init && mtl_wait
This commit is contained in:
		@ -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*,                            \
 | 
				
			||||||
 | 
				
			|||||||
@ -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));
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user