fix tenant mtl module register with MTL_BIND2 remove old MTL_BIND
This commit is contained in:
@ -22,6 +22,7 @@ namespace sqlclient
|
|||||||
class ObTenantOciEnvs
|
class ObTenantOciEnvs
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static int mtl_new(ObTenantOciEnvs *&tenant_oci_envs) { return OB_SUCCESS; }
|
||||||
static int mtl_init(ObTenantOciEnvs *&tenant_oci_envs) { return OB_SUCCESS; }
|
static int mtl_init(ObTenantOciEnvs *&tenant_oci_envs) { return OB_SUCCESS; }
|
||||||
static void mtl_destroy(ObTenantOciEnvs *&tenant_oci_envs) { }
|
static void mtl_destroy(ObTenantOciEnvs *&tenant_oci_envs) { }
|
||||||
};
|
};
|
||||||
|
|||||||
@ -666,7 +666,7 @@ int MockTenantModuleEnv::init()
|
|||||||
STORAGE_LOG(ERROR, "init_before_start_mtl failed", K(ret));
|
STORAGE_LOG(ERROR, "init_before_start_mtl failed", K(ret));
|
||||||
} else {
|
} else {
|
||||||
oceanbase::ObClusterVersion::get_instance().update_data_version(DATA_CURRENT_VERSION);
|
oceanbase::ObClusterVersion::get_instance().update_data_version(DATA_CURRENT_VERSION);
|
||||||
MTL_BIND(ObTenantIOManager::mtl_init, ObTenantIOManager::mtl_destroy);
|
MTL_BIND2(nullptr, ObTenantIOManager::mtl_init, nullptr, nullptr, nullptr, ObTenantIOManager::mtl_destroy);
|
||||||
MTL_BIND2(mtl_new_default, omt::ObSharedTimer::mtl_init, omt::ObSharedTimer::mtl_start, omt::ObSharedTimer::mtl_stop, omt::ObSharedTimer::mtl_wait, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, omt::ObSharedTimer::mtl_init, omt::ObSharedTimer::mtl_start, omt::ObSharedTimer::mtl_stop, omt::ObSharedTimer::mtl_wait, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObTenantSchemaService::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObTenantSchemaService::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObStorageLogger::mtl_init, ObStorageLogger::mtl_start, ObStorageLogger::mtl_stop, ObStorageLogger::mtl_wait, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObStorageLogger::mtl_init, ObStorageLogger::mtl_start, ObStorageLogger::mtl_stop, ObStorageLogger::mtl_wait, mtl_destroy_default);
|
||||||
@ -705,7 +705,7 @@ int MockTenantModuleEnv::init()
|
|||||||
MTL_BIND2(mtl_new_default, ObTableLockService::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObTableLockService::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
|
||||||
MTL_BIND2(server_obj_pool_mtl_new<transaction::ObPartTransCtx>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<transaction::ObPartTransCtx>);
|
MTL_BIND2(server_obj_pool_mtl_new<transaction::ObPartTransCtx>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<transaction::ObPartTransCtx>);
|
||||||
MTL_BIND2(server_obj_pool_mtl_new<ObTableScanIterator>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<ObTableScanIterator>);
|
MTL_BIND2(server_obj_pool_mtl_new<ObTableScanIterator>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<ObTableScanIterator>);
|
||||||
MTL_BIND(ObTenantSQLSessionMgr::mtl_init, ObTenantSQLSessionMgr::mtl_destroy);
|
MTL_BIND2(ObTenantSQLSessionMgr::mtl_new, ObTenantSQLSessionMgr::mtl_init, nullptr, nullptr, nullptr, ObTenantSQLSessionMgr::mtl_destroy);
|
||||||
MTL_BIND2(mtl_new_default, ObTenantCGReadInfoMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObTenantCGReadInfoMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObDecodeResourcePool::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObDecodeResourcePool::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObTenantDirectLoadMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObTenantDirectLoadMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
||||||
|
|||||||
@ -438,7 +438,7 @@ int ObMultiTenant::init(ObAddr myaddr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (OB_SUCC(ret) && mtl_bind_flag) {
|
if (OB_SUCC(ret) && mtl_bind_flag) {
|
||||||
MTL_BIND(ObTenantIOManager::mtl_init, ObTenantIOManager::mtl_destroy);
|
MTL_BIND2(nullptr, ObTenantIOManager::mtl_init, nullptr, nullptr, nullptr, ObTenantIOManager::mtl_destroy);
|
||||||
|
|
||||||
// base mtl
|
// base mtl
|
||||||
MTL_BIND2(mtl_new_default, storage::mds::ObTenantMdsService::mtl_init, storage::mds::ObTenantMdsService::mtl_start, storage::mds::ObTenantMdsService::mtl_stop, storage::mds::ObTenantMdsService::mtl_wait, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, storage::mds::ObTenantMdsService::mtl_init, storage::mds::ObTenantMdsService::mtl_start, storage::mds::ObTenantMdsService::mtl_stop, storage::mds::ObTenantMdsService::mtl_wait, mtl_destroy_default);
|
||||||
@ -522,29 +522,29 @@ int ObMultiTenant::init(ObAddr myaddr,
|
|||||||
MTL_BIND2(mtl_new_default, ObUDRMgr::mtl_init, nullptr, ObUDRMgr::mtl_stop, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObUDRMgr::mtl_init, nullptr, ObUDRMgr::mtl_stop, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObTenantCGReadInfoMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObTenantCGReadInfoMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObDecodeResourcePool::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObDecodeResourcePool::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
||||||
|
MTL_BIND2(mtl_new_default, ObPxPools::mtl_init, nullptr, ObPxPools::mtl_stop, nullptr, ObPxPools::mtl_destroy);
|
||||||
MTL_BIND2(nullptr, ObPxPools::mtl_init, nullptr, ObPxPools::mtl_stop, nullptr, ObPxPools::mtl_destroy);
|
MTL_BIND2(ObTenantDfc::mtl_new, ObTenantDfc::mtl_init, nullptr, nullptr, nullptr, ObTenantDfc::mtl_destroy);
|
||||||
MTL_BIND(ObTenantDfc::mtl_init, ObTenantDfc::mtl_destroy);
|
MTL_BIND2(nullptr, init_compat_mode, nullptr, nullptr, nullptr, nullptr);
|
||||||
MTL_BIND(init_compat_mode, nullptr);
|
|
||||||
MTL_BIND2(ObMySQLRequestManager::mtl_new, ObMySQLRequestManager::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, ObMySQLRequestManager::mtl_destroy);
|
MTL_BIND2(ObMySQLRequestManager::mtl_new, ObMySQLRequestManager::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, ObMySQLRequestManager::mtl_destroy);
|
||||||
MTL_BIND2(mtl_new_default, ObTenantWeakReadService::mtl_init, mtl_start_default,
|
MTL_BIND2(mtl_new_default, ObTenantWeakReadService::mtl_init, mtl_start_default,
|
||||||
mtl_stop_default,
|
mtl_stop_default,
|
||||||
mtl_wait_default,
|
mtl_wait_default,
|
||||||
mtl_destroy_default);
|
mtl_destroy_default);
|
||||||
//MTL_BIND(ObTransAuditRecordMgr::mtl_init, ObTransAuditRecordMgr::mtl_destroy);
|
//MTL_BIND2(ObTransAuditRecordMgr::mtl_init, ObTransAuditRecordMgr::mtl_destroy);
|
||||||
MTL_BIND(ObTenantSqlMemoryManager::mtl_init, ObTenantSqlMemoryManager::mtl_destroy);
|
MTL_BIND2(ObTenantSqlMemoryManager::mtl_new, ObTenantSqlMemoryManager::mtl_init, nullptr, nullptr, nullptr, ObTenantSqlMemoryManager::mtl_destroy);
|
||||||
MTL_BIND(ObPlanMonitorNodeList::mtl_init, ObPlanMonitorNodeList::mtl_destroy);
|
MTL_BIND2(mtl_new_default, ObPlanMonitorNodeList::mtl_init, nullptr, nullptr, nullptr, ObPlanMonitorNodeList::mtl_destroy);
|
||||||
MTL_BIND2(mtl_new_default, ObTableLoadService::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObTableLoadService::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObSharedMacroBlockMgr::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObSharedMacroBlockMgr::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
|
||||||
MTL_BIND(ObFLTSpanMgr::mtl_init, ObFLTSpanMgr::mtl_destroy);
|
MTL_BIND2(mtl_new_default, ObFLTSpanMgr::mtl_init, nullptr, nullptr, nullptr, ObFLTSpanMgr::mtl_destroy);
|
||||||
MTL_BIND(common::sqlclient::ObTenantOciEnvs::mtl_init, common::sqlclient::ObTenantOciEnvs::mtl_destroy);
|
MTL_BIND2(common::sqlclient::ObTenantOciEnvs::mtl_new, common::sqlclient::ObTenantOciEnvs::mtl_init,
|
||||||
|
nullptr, nullptr, nullptr, common::sqlclient::ObTenantOciEnvs::mtl_destroy);
|
||||||
MTL_BIND2(mtl_new_default, ObPlanCache::mtl_init, nullptr, ObPlanCache::mtl_stop, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObPlanCache::mtl_init, nullptr, ObPlanCache::mtl_stop, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND2(mtl_new_default, ObPsCache::mtl_init, nullptr, ObPsCache::mtl_stop, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObPsCache::mtl_init, nullptr, ObPsCache::mtl_stop, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND2(server_obj_pool_mtl_new<ObPartTransCtx>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<ObPartTransCtx>);
|
MTL_BIND2(server_obj_pool_mtl_new<ObPartTransCtx>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<ObPartTransCtx>);
|
||||||
MTL_BIND2(server_obj_pool_mtl_new<ObTableScanIterator>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<ObTableScanIterator>);
|
MTL_BIND2(server_obj_pool_mtl_new<ObTableScanIterator>, nullptr, nullptr, nullptr, nullptr, server_obj_pool_mtl_destroy<ObTableScanIterator>);
|
||||||
MTL_BIND2(mtl_new_default, ObTenantDirectLoadMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
MTL_BIND2(mtl_new_default, ObTenantDirectLoadMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default);
|
||||||
MTL_BIND(ObDetectManager::mtl_init, ObDetectManager::mtl_destroy);
|
MTL_BIND2(ObDetectManager::mtl_new, ObDetectManager::mtl_init, nullptr, nullptr, nullptr, ObDetectManager::mtl_destroy);
|
||||||
MTL_BIND(ObTenantSQLSessionMgr::mtl_init, ObTenantSQLSessionMgr::mtl_destroy);
|
MTL_BIND2(ObTenantSQLSessionMgr::mtl_new, ObTenantSQLSessionMgr::mtl_init, nullptr, nullptr, nullptr, ObTenantSQLSessionMgr::mtl_destroy);
|
||||||
MTL_BIND2(mtl_new_default, ObDTLIntermResultManager::mtl_init, ObDTLIntermResultManager::mtl_start,
|
MTL_BIND2(mtl_new_default, ObDTLIntermResultManager::mtl_init, ObDTLIntermResultManager::mtl_start,
|
||||||
ObDTLIntermResultManager::mtl_stop, ObDTLIntermResultManager::mtl_wait, ObDTLIntermResultManager::mtl_destroy);
|
ObDTLIntermResultManager::mtl_stop, ObDTLIntermResultManager::mtl_wait, ObDTLIntermResultManager::mtl_destroy);
|
||||||
if (GCONF._enable_new_sql_nio && GCONF._enable_tenant_sql_net_thread) {
|
if (GCONF._enable_new_sql_nio && GCONF._enable_tenant_sql_net_thread) {
|
||||||
|
|||||||
@ -138,10 +138,7 @@ public:
|
|||||||
{
|
{
|
||||||
int ret = common::OB_SUCCESS;
|
int ret = common::OB_SUCCESS;
|
||||||
uint64_t tenant_id = MTL_ID();
|
uint64_t tenant_id = MTL_ID();
|
||||||
pools = OB_NEW(ObPxPools, ObMemAttr(tenant_id, "PxPools"));
|
if (OB_FAIL(pools->init(tenant_id))) {
|
||||||
if (OB_ISNULL(pools)) {
|
|
||||||
ret = common::OB_ALLOCATE_MEMORY_FAILED;
|
|
||||||
} else if (OB_FAIL(pools->init(tenant_id))) {
|
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -155,6 +155,18 @@ void ObDMMultiDlist::pop_active_node(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ObDetectManager::mtl_new(ObDetectManager *&dm)
|
||||||
|
{
|
||||||
|
int ret = OB_SUCCESS;
|
||||||
|
uint64_t tenant_id = MTL_ID();
|
||||||
|
dm = OB_NEW(ObDetectManager, ObMemAttr(tenant_id, "DetectManager"), tenant_id);
|
||||||
|
if (OB_ISNULL(dm)) {
|
||||||
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
|
LIB_LOG(WARN, "[DM] failed to alloc detect manager", K(ret));
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
int ObDetectManager::mtl_init(ObDetectManager *&dm)
|
int ObDetectManager::mtl_init(ObDetectManager *&dm)
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
@ -165,11 +177,7 @@ int ObDetectManager::mtl_init(ObDetectManager *&dm)
|
|||||||
if (is_meta_tenant(tenant_id)) {
|
if (is_meta_tenant(tenant_id)) {
|
||||||
mem_factor = mem_factor * 0.01;
|
mem_factor = mem_factor * 0.01;
|
||||||
}
|
}
|
||||||
dm = OB_NEW(ObDetectManager, ObMemAttr(tenant_id, "DetectManager"), tenant_id);
|
if (OB_FAIL(dm->init(GCTX.self_addr(), mem_factor))) {
|
||||||
if (OB_ISNULL(dm)) {
|
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
|
||||||
LIB_LOG(WARN, "[DM] failed to alloc detect manager", K(ret));
|
|
||||||
} else if (OB_FAIL(dm->init(GCTX.self_addr(), mem_factor))) {
|
|
||||||
LIB_LOG(WARN, "[DM] failed to init detect manager", K(ret));
|
LIB_LOG(WARN, "[DM] failed to init detect manager", K(ret));
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@ -110,6 +110,7 @@ private:
|
|||||||
|
|
||||||
static const uint64_t ACTIVATE_DELAY_TIME = 5 * 1000L * 1000L; // dm only detects checkitems that have been present for at least "ACTIVATE_DELAY_TIME" seconds
|
static const uint64_t ACTIVATE_DELAY_TIME = 5 * 1000L * 1000L; // dm only detects checkitems that have been present for at least "ACTIVATE_DELAY_TIME" seconds
|
||||||
public:
|
public:
|
||||||
|
static int mtl_new(ObDetectManager *&dm);
|
||||||
static int mtl_init(ObDetectManager *&dm);
|
static int mtl_init(ObDetectManager *&dm);
|
||||||
static void mtl_destroy(ObDetectManager *&dm);
|
static void mtl_destroy(ObDetectManager *&dm);
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -110,21 +110,10 @@ int ObPlanMonitorNodeList::mtl_init(ObPlanMonitorNodeList* &node_list)
|
|||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
uint64_t tenant_id = lib::current_resource_owner_id();
|
uint64_t tenant_id = lib::current_resource_owner_id();
|
||||||
node_list = OB_NEW(ObPlanMonitorNodeList, ObMemAttr(tenant_id, MOD_LABEL));
|
|
||||||
if (nullptr == node_list) {
|
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
|
||||||
LOG_WARN("failed to alloc memory for ObPlanMonitorNodeList", K(ret));
|
|
||||||
} else {
|
|
||||||
int64_t mem_limit = get_tenant_memory_limit(tenant_id);
|
int64_t mem_limit = get_tenant_memory_limit(tenant_id);
|
||||||
if (OB_FAIL(node_list->init(tenant_id, mem_limit))) {
|
if (OB_FAIL(node_list->init(tenant_id, mem_limit))) {
|
||||||
LOG_WARN("failed to init event list", K(ret));
|
LOG_WARN("failed to init event list", K(ret));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (OB_FAIL(ret) && node_list != nullptr) {
|
|
||||||
// cleanup
|
|
||||||
common::ob_delete(node_list);
|
|
||||||
node_list = nullptr;
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -389,8 +389,6 @@ using ObTableScanIteratorObjPool = common::ObServerObjectPool<oceanbase::storage
|
|||||||
#define MTL_MEM_SIZE() share::ObTenantEnv::get_tenant()->unit_memory_size()
|
#define MTL_MEM_SIZE() share::ObTenantEnv::get_tenant()->unit_memory_size()
|
||||||
|
|
||||||
// 注意MTL_BIND调用需要在租户创建之前,否则会导致租户创建时无法调用到绑定的函数。
|
// 注意MTL_BIND调用需要在租户创建之前,否则会导致租户创建时无法调用到绑定的函数。
|
||||||
#define MTL_BIND(INIT, DESTROY) \
|
|
||||||
share::ObTenantBase::mtl_bind_func(nullptr, INIT, nullptr, nullptr, nullptr, DESTROY);
|
|
||||||
#define MTL_BIND2(NEW, INIT, START, STOP, WAIT, DESTROY) \
|
#define MTL_BIND2(NEW, INIT, START, STOP, WAIT, DESTROY) \
|
||||||
share::ObTenantBase::mtl_bind_func(NEW, INIT, START, STOP, WAIT, DESTROY);
|
share::ObTenantBase::mtl_bind_func(NEW, INIT, START, STOP, WAIT, DESTROY);
|
||||||
|
|
||||||
|
|||||||
@ -38,7 +38,7 @@ ObTenantDfc::ObTenantDfc(uint64_t tenant_id)
|
|||||||
ObTenantDfc::~ObTenantDfc()
|
ObTenantDfc::~ObTenantDfc()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
int ObTenantDfc::mtl_init(ObTenantDfc *&tenant_dfc)
|
int ObTenantDfc::mtl_new(ObTenantDfc *&tenant_dfc)
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
uint64_t tenant_id = MTL_ID();
|
uint64_t tenant_id = MTL_ID();
|
||||||
@ -47,7 +47,16 @@ int ObTenantDfc::mtl_init(ObTenantDfc *&tenant_dfc)
|
|||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
LOG_WARN("failed to alloc tenant dfc", K(ret));
|
LOG_WARN("failed to alloc tenant dfc", K(ret));
|
||||||
} else if (FALSE_IT(new (tenant_dfc) ObTenantDfc(tenant_id))) {
|
} else if (FALSE_IT(new (tenant_dfc) ObTenantDfc(tenant_id))) {
|
||||||
} else {
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int ObTenantDfc::mtl_init(ObTenantDfc *&tenant_dfc)
|
||||||
|
{
|
||||||
|
int ret = OB_SUCCESS;
|
||||||
|
uint64_t tenant_id = MTL_ID();
|
||||||
|
if (OB_SUCC(ret)) {
|
||||||
tenant_dfc->channel_total_cnt_ = 0;
|
tenant_dfc->channel_total_cnt_ = 0;
|
||||||
tenant_dfc->blocked_dfc_cnt_ = 0;
|
tenant_dfc->blocked_dfc_cnt_ = 0;
|
||||||
tenant_dfc->max_parallel_cnt_ = 0;
|
tenant_dfc->max_parallel_cnt_ = 0;
|
||||||
@ -60,14 +69,6 @@ int ObTenantDfc::mtl_init(ObTenantDfc *&tenant_dfc)
|
|||||||
// tenant_dfc->calc_max_buffer(10);
|
// tenant_dfc->calc_max_buffer(10);
|
||||||
LOG_INFO("init tenant dfc", K(ret), K(tenant_dfc->tenant_id_));
|
LOG_INFO("init tenant dfc", K(ret), K(tenant_dfc->tenant_id_));
|
||||||
}
|
}
|
||||||
if (OB_FAIL(ret)) {
|
|
||||||
if (nullptr != tenant_dfc) {
|
|
||||||
tenant_dfc->tenant_mem_mgr_.destroy();
|
|
||||||
common::ob_delete(tenant_dfc);
|
|
||||||
tenant_dfc = nullptr;
|
|
||||||
}
|
|
||||||
LOG_WARN("failed to mtl init", K(ret));
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -36,6 +36,7 @@ public:
|
|||||||
ObTenantDfc(uint64_t tenant_id);
|
ObTenantDfc(uint64_t tenant_id);
|
||||||
virtual ~ObTenantDfc();
|
virtual ~ObTenantDfc();
|
||||||
public:
|
public:
|
||||||
|
static int mtl_new(ObTenantDfc *&tenant_dfc);
|
||||||
static int mtl_init(ObTenantDfc *&tenant_dfc);
|
static int mtl_init(ObTenantDfc *&tenant_dfc);
|
||||||
static void mtl_destroy(ObTenantDfc *&tenant_dfc);
|
static void mtl_destroy(ObTenantDfc *&tenant_dfc);
|
||||||
|
|
||||||
|
|||||||
@ -326,12 +326,10 @@ int ObTenantSqlMemoryManager::ObSqlWorkAreaCalcInfo::calculate_global_bound_size
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
int ObTenantSqlMemoryManager::mtl_new(ObTenantSqlMemoryManager *&sql_mem_mgr)
|
||||||
int ObTenantSqlMemoryManager::mtl_init(ObTenantSqlMemoryManager *&sql_mem_mgr)
|
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
uint64_t tenant_id = MTL_ID();
|
uint64_t tenant_id = MTL_ID();
|
||||||
sql_mem_mgr = nullptr;
|
|
||||||
// 系统租户不创建
|
// 系统租户不创建
|
||||||
if (OB_MAX_RESERVED_TENANT_ID < tenant_id) {
|
if (OB_MAX_RESERVED_TENANT_ID < tenant_id) {
|
||||||
sql_mem_mgr = OB_NEW(ObTenantSqlMemoryManager,
|
sql_mem_mgr = OB_NEW(ObTenantSqlMemoryManager,
|
||||||
@ -339,7 +337,19 @@ int ObTenantSqlMemoryManager::mtl_init(ObTenantSqlMemoryManager *&sql_mem_mgr)
|
|||||||
if (nullptr == sql_mem_mgr) {
|
if (nullptr == sql_mem_mgr) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
LOG_WARN("failed to alloc tenant sql memory manager", K(ret));
|
LOG_WARN("failed to alloc tenant sql memory manager", K(ret));
|
||||||
} else if (OB_FAIL(sql_mem_mgr->allocator_.init(
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
int ObTenantSqlMemoryManager::mtl_init(ObTenantSqlMemoryManager *&sql_mem_mgr)
|
||||||
|
{
|
||||||
|
int ret = OB_SUCCESS;
|
||||||
|
uint64_t tenant_id = MTL_ID();
|
||||||
|
// 系统租户不init
|
||||||
|
if (OB_MAX_RESERVED_TENANT_ID < tenant_id) {
|
||||||
|
if (OB_FAIL(sql_mem_mgr->allocator_.init(
|
||||||
lib::ObMallocAllocator::get_instance(),
|
lib::ObMallocAllocator::get_instance(),
|
||||||
OB_MALLOC_NORMAL_BLOCK_SIZE,
|
OB_MALLOC_NORMAL_BLOCK_SIZE,
|
||||||
ObMemAttr(tenant_id, "SqlMemMgr")))) {
|
ObMemAttr(tenant_id, "SqlMemMgr")))) {
|
||||||
|
|||||||
@ -584,6 +584,7 @@ public:
|
|||||||
{}
|
{}
|
||||||
~ObTenantSqlMemoryManager() {}
|
~ObTenantSqlMemoryManager() {}
|
||||||
public:
|
public:
|
||||||
|
static int mtl_new(ObTenantSqlMemoryManager *&sql_mem_mgr);
|
||||||
static int mtl_init(ObTenantSqlMemoryManager *&sql_mem_mgr);
|
static int mtl_init(ObTenantSqlMemoryManager *&sql_mem_mgr);
|
||||||
static void mtl_destroy(ObTenantSqlMemoryManager *&sql_mem_mgr);
|
static void mtl_destroy(ObTenantSqlMemoryManager *&sql_mem_mgr);
|
||||||
|
|
||||||
|
|||||||
@ -81,11 +81,6 @@ namespace sql
|
|||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
uint64_t tenant_id = lib::current_resource_owner_id();
|
uint64_t tenant_id = lib::current_resource_owner_id();
|
||||||
span_mgr = OB_NEW(ObFLTSpanMgr, ObMemAttr(tenant_id, "SqlFltSpanRec"));
|
|
||||||
if (nullptr == span_mgr) {
|
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
|
||||||
LOG_WARN("failed to alloc memory for ObMySQLRequestManager", K(ret));
|
|
||||||
} else {
|
|
||||||
int64_t mem_limit = lib::get_tenant_memory_limit(tenant_id);
|
int64_t mem_limit = lib::get_tenant_memory_limit(tenant_id);
|
||||||
int64_t queue_size = MAX_QUEUE_SIZE;
|
int64_t queue_size = MAX_QUEUE_SIZE;
|
||||||
if (OB_FAIL(span_mgr->init(tenant_id, mem_limit, queue_size))) {
|
if (OB_FAIL(span_mgr->init(tenant_id, mem_limit, queue_size))) {
|
||||||
@ -93,12 +88,6 @@ namespace sql
|
|||||||
} else {
|
} else {
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (OB_FAIL(ret) && span_mgr != nullptr) {
|
|
||||||
// cleanup
|
|
||||||
common::ob_delete(span_mgr);
|
|
||||||
span_mgr = nullptr;
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -116,7 +116,7 @@ void ObTenantSQLSessionMgr::destroy()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
int ObTenantSQLSessionMgr::mtl_init(ObTenantSQLSessionMgr *&t_session_mgr)
|
int ObTenantSQLSessionMgr::mtl_new(ObTenantSQLSessionMgr *&t_session_mgr)
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
t_session_mgr = OB_NEW(ObTenantSQLSessionMgr, ObMemAttr(MTL_ID(), "TSQLSessionMgr"),
|
t_session_mgr = OB_NEW(ObTenantSQLSessionMgr, ObMemAttr(MTL_ID(), "TSQLSessionMgr"),
|
||||||
@ -124,7 +124,14 @@ int ObTenantSQLSessionMgr::mtl_init(ObTenantSQLSessionMgr *&t_session_mgr)
|
|||||||
if (OB_ISNULL(t_session_mgr)) {
|
if (OB_ISNULL(t_session_mgr)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
LOG_WARN("failed to alloc tenant session manager", K(ret));
|
LOG_WARN("failed to alloc tenant session manager", K(ret));
|
||||||
} else if (OB_FAIL(t_session_mgr->init())) {
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ObTenantSQLSessionMgr::mtl_init(ObTenantSQLSessionMgr *&t_session_mgr)
|
||||||
|
{
|
||||||
|
int ret = OB_SUCCESS;
|
||||||
|
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;
|
||||||
|
|||||||
@ -376,6 +376,7 @@ public:
|
|||||||
|
|
||||||
int init();
|
int init();
|
||||||
void destroy();
|
void destroy();
|
||||||
|
static int mtl_new(ObTenantSQLSessionMgr *&tenant_session_mgr);
|
||||||
static int mtl_init(ObTenantSQLSessionMgr *&tenant_session_mgr);
|
static int mtl_init(ObTenantSQLSessionMgr *&tenant_session_mgr);
|
||||||
static void mtl_destroy(ObTenantSQLSessionMgr *&tenant_session_mgr);
|
static void mtl_destroy(ObTenantSQLSessionMgr *&tenant_session_mgr);
|
||||||
ObSQLSessionInfo *alloc_session();
|
ObSQLSessionInfo *alloc_session();
|
||||||
|
|||||||
Reference in New Issue
Block a user