BUGFIX: change memstore_limit to tenant level

This commit is contained in:
obdev
2024-01-04 12:13:24 +00:00
committed by ob-robot
parent 61f14781c7
commit 7f1ad4aa49
18 changed files with 151 additions and 45 deletions

View File

@ -28,6 +28,7 @@
#include "observer/ob_server.h"
#include "observer/ob_server_utils.h"
#include "observer/ob_service.h"
#include "share/allocator/ob_shared_memory_allocator_mgr.h"
#include "storage/tx_storage/ob_tenant_freezer.h"
#include "storage/compaction/ob_tenant_tablet_scheduler.h"
#include "storage/slog/ob_storage_logger_manager.h"
@ -169,6 +170,7 @@ int ObServerReloadConfig::operator()()
(void)reload_diagnose_info_config(GCONF.enable_perf_event);
(void)reload_trace_log_config(GCONF.enable_record_trace_log);
reload_tenant_freezer_config_();
reload_tenant_scheduler_config_();
}
}
@ -336,3 +338,25 @@ void ObServerReloadConfig::reload_tenant_scheduler_config_()
omt->operate_in_each_tenant(f);
}
}
int ObServerReloadConfig::ObReloadTenantFreezerConfOp::operator()()
{
int ret = OB_SUCCESS;
// NOTICE: tenant freezer should update before ObSharedMemAllocMgr.
MTL(ObTenantFreezer *)->reload_config();
MTL(ObSharedMemAllocMgr*)->update_throttle_config();
return ret;
}
void ObServerReloadConfig::reload_tenant_freezer_config_()
{
int ret = OB_SUCCESS;
omt::ObMultiTenant *omt = GCTX.omt_;
if (OB_ISNULL(omt)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("omt should not be null", K(ret));
} else {
ObReloadTenantFreezerConfOp f;
omt->operate_in_each_tenant(f);
}
}