User defined rules add mtl_stop interface

This commit is contained in:
obdev
2023-02-24 15:20:34 +00:00
committed by ob-robot
parent 12b7109333
commit ca5932873a
3 changed files with 11 additions and 2 deletions

View File

@ -425,7 +425,7 @@ int ObMultiTenant::init(ObAddr myaddr,
MTL_BIND2(mtl_new_default, ObAccessService::mtl_init, nullptr, mtl_stop_default, nullptr, mtl_destroy_default); MTL_BIND2(mtl_new_default, ObAccessService::mtl_init, nullptr, mtl_stop_default, nullptr, mtl_destroy_default);
MTL_BIND2(mtl_new_default, ObCheckPointService::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default); MTL_BIND2(mtl_new_default, ObCheckPointService::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
MTL_BIND2(mtl_new_default, ObMultiVersionGarbageCollector::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default); MTL_BIND2(mtl_new_default, ObMultiVersionGarbageCollector::mtl_init, mtl_start_default, mtl_stop_default, mtl_wait_default, mtl_destroy_default);
MTL_BIND2(mtl_new_default, ObUDRMgr::mtl_init, nullptr, nullptr, nullptr, mtl_destroy_default); MTL_BIND2(mtl_new_default, ObUDRMgr::mtl_init, nullptr, ObUDRMgr::mtl_stop, nullptr, mtl_destroy_default);
MTL_BIND(ObPxPools::mtl_init, ObPxPools::mtl_destroy); MTL_BIND(ObPxPools::mtl_init, ObPxPools::mtl_destroy);
MTL_BIND(ObTenantDfc::mtl_init, ObTenantDfc::mtl_destroy); MTL_BIND(ObTenantDfc::mtl_init, ObTenantDfc::mtl_destroy);

View File

@ -160,6 +160,14 @@ int ObUDRMgr::mtl_init(ObUDRMgr* &node_list)
return ret; return ret;
} }
void ObUDRMgr::mtl_stop(ObUDRMgr* &udr_mgr)
{
if (udr_mgr->inited_) {
TG_CANCEL(udr_mgr->tg_id_, udr_mgr->refresh_task_);
TG_STOP(udr_mgr->tg_id_);
}
}
void ObUDRMgr::destroy() void ObUDRMgr::destroy()
{ {
if (!destroyed_) { if (!destroyed_) {

View File

@ -84,7 +84,8 @@ public:
tg_id_(-1), tg_id_(-1),
rule_version_(OB_INIT_REWRITE_RULE_VERSION) {} rule_version_(OB_INIT_REWRITE_RULE_VERSION) {}
~ObUDRMgr(); ~ObUDRMgr();
static int mtl_init(ObUDRMgr* &node_list); static int mtl_init(ObUDRMgr* &udr_mgr);
static void mtl_stop(ObUDRMgr* &udr_mgr);
void destroy(); void destroy();
int insert_rule(ObUDRInfo &arg); int insert_rule(ObUDRInfo &arg);
int remove_rule(ObUDRInfo &arg); int remove_rule(ObUDRInfo &arg);