Fix a batch of memory not being split to tenant

This commit is contained in:
obdev
2023-05-18 14:11:18 +00:00
committed by ob-robot
parent 135383ca8b
commit 10ebab170d
98 changed files with 284 additions and 174 deletions

View File

@ -142,6 +142,7 @@ TEST_F(TestStorageLoggerManager, test_slogger_basic)
ObTenantBase tenant_base(5);
tenant_base.set(tmp_slogger);
ObTenantEnv::set_tenant(&tenant_base);
DEFER(ObTenantEnv::set_tenant(nullptr));
ASSERT_EQ(OB_SUCCESS, tenant_base.init());
ObTenantSwitchGuard guard;
@ -183,19 +184,21 @@ TEST_F(TestStorageLoggerManager, test_slogger_basic)
TEST_F (TestStorageLoggerManager, test_build_item)
{
int ret = OB_SUCCESS;
ObTenantBase tenant_base(5);
ObTenantEnv::set_tenant(&tenant_base);
ASSERT_EQ(OB_SUCCESS, tenant_base.init());
SLOGGERMGR.init(dir_, MAX_FILE_SIZE, log_file_spec_);
ObStorageLogger *tmp_slogger = OB_NEW(ObStorageLogger, ObModIds::TEST);
ASSERT_EQ(OB_SUCCESS, tmp_slogger->init(SLOGGERMGR, 500));
ASSERT_EQ(OB_SUCCESS, tmp_slogger->start());
ObTenantBase tenant_base(5);
tenant_base.set(tmp_slogger);
ObTenantEnv::set_tenant(&tenant_base);
ASSERT_EQ(OB_SUCCESS, tenant_base.init());
ObTenantSwitchGuard guard;
guard.switch_to(5);
ObTenantEnv::set_tenant(&tenant_base);
DEFER(ObTenantEnv::set_tenant(nullptr));
ObStorageLogger *slogger = MTL(ObStorageLogger*);
slogger->start_log(start_cursor_);

View File

@ -568,10 +568,10 @@ TEST_F(TestIOStruct, IOCallbackManager)
// test init
ObIOCallbackManager callback_mgr;
ASSERT_FALSE(callback_mgr.is_inited_);
ASSERT_FAIL(callback_mgr.init(0, 1000, nullptr));
ASSERT_FAIL(callback_mgr.init(TEST_TENANT_ID, 0, 1000, nullptr));
ObIOAllocator io_allocator;
ASSERT_SUCC(io_allocator.init(TEST_TENANT_ID, IO_MEMORY_LIMIT));
ASSERT_SUCC(callback_mgr.init(2, 1000, &io_allocator));
ASSERT_SUCC(callback_mgr.init(TEST_TENANT_ID, 2, 1000, &io_allocator));
ASSERT_TRUE(callback_mgr.is_inited_);
// test enqueue and dequeue
@ -2001,4 +2001,4 @@ int IOTracerSwitch::modify_tenant_io(IOPerfTenant &curr_tenant)
LOG_WARN("refresh tenant io config failed", K(ret), K(curr_tenant.tenant_id_), K(curr_tenant.config_));
}
return ret;
}
}

View File

@ -79,11 +79,12 @@ void TestTenantTabletStatMgr::SetUp()
{
int ret = OB_SUCCESS;
ObTenantEnv::set_tenant(&tenant_base_);
stat_mgr_ = OB_NEW(ObTenantTabletStatMgr, ObModIds::TEST);
ret = stat_mgr_->init();
ret = stat_mgr_->init(tenant_id_);
ASSERT_EQ(OB_SUCCESS, ret);
tenant_base_.set(stat_mgr_);
ObTenantEnv::set_tenant(&tenant_base_);
ASSERT_EQ(OB_SUCCESS, tenant_base_.init());
ASSERT_EQ(tenant_id_, MTL_ID());
@ -425,4 +426,4 @@ int main(int argc, char **argv)
OB_LOGGER.set_log_level("INFO");
OB_LOGGER.set_max_file_size(256*1024*1024);
return RUN_ALL_TESTS();
}
}

View File

@ -261,6 +261,7 @@ ObTxNode::~ObTxNode() __attribute__((optnone)) {
delete fake_tx_log_adapter_;
}
FAST_FAIL();
ObTenantEnv::set_tenant(NULL);
}
int ObTxNode::create_memtable_(const int64_t tablet_id, memtable::ObMemtable *&mt) {

View File

@ -72,7 +72,7 @@ const ObLSID TEST_LS_ID(735);
TEST_F(TestLSLogWriter, submit_start_working_log)
{
int64_t tmp_tenant_id = 1004;
int64_t tmp_tenant_id = 1;
ObLSTxCtxMgr tmp_mgr;
common::ObConcurrentFIFOAllocator tmp_allocator;