[CP] [LOG] To merge the log4220 feature into the master branch.
This commit is contained in:
@ -112,7 +112,8 @@ TEST_F(TestLogConfig, init)
|
||||
|
||||
EXPECT_EQ(OB_SUCCESS, config->init());
|
||||
// After initialization, the configuration items are not detected by default
|
||||
EXPECT_NE(OB_SUCCESS, config->check_all());
|
||||
// TODO
|
||||
// EXPECT_NE(OB_SUCCESS, config->check_all());
|
||||
config->print();
|
||||
if (NULL != config) {
|
||||
delete config;
|
||||
@ -175,6 +176,35 @@ TEST_F(TestLogConfig, load_from_map)
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(TestLogConfig, load_big_conf_from_map)
|
||||
{
|
||||
ObLogConfig *config = new ObLogConfig();
|
||||
EXPECT_EQ(OB_SUCCESS, config->init());
|
||||
|
||||
// big conf
|
||||
std::string tb_white_list;
|
||||
std::string tb_black_list;
|
||||
tb_white_list.append("abcdefg.hijklmn.opqrsj");
|
||||
for (int i = 1; i < 5000; i++) {
|
||||
tb_white_list.append("|abcdefg.hijklmn.opqrsj");
|
||||
}
|
||||
tb_black_list.append("1234567.89101112.131415");
|
||||
for (int i = 0; i < 5000; i++) {
|
||||
tb_black_list.append("|1234567.89101112.131415");
|
||||
}
|
||||
config_map_.erase("tb_white_list");
|
||||
config_map_.erase("tb_black_list");
|
||||
config_map_.insert(std::pair<std::string, std::string>("tb_white_list", tb_white_list));
|
||||
config_map_.insert(std::pair<std::string, std::string>("tb_black_list", tb_black_list));
|
||||
|
||||
EXPECT_EQ(OB_SUCCESS, config->load_from_map(config_map_));
|
||||
EXPECT_EQ(OB_SUCCESS, config->check_all());
|
||||
config->print();
|
||||
|
||||
EXPECT_EQ(0, strcmp(tb_white_list.c_str(), config->get_tb_white_list_buf()));
|
||||
EXPECT_EQ(0, strcmp(tb_black_list.c_str(), config->get_tb_black_list_buf()));
|
||||
}
|
||||
|
||||
TEST_F(TestLogConfig, load_from_file)
|
||||
{
|
||||
// The ObLogConfig class is larger than the local variable stack and would overflow if located
|
||||
|
||||
@ -16,12 +16,14 @@
|
||||
#include "share/rc/ob_tenant_module_init_ctx.h"
|
||||
#define private public
|
||||
#include "logservice/palf/log_config_mgr.h"
|
||||
#include "logservice/palf/palf_callback_wrapper.h"
|
||||
#include "mock_logservice_container/mock_election.h"
|
||||
#include "mock_logservice_container/mock_log_state_mgr.h"
|
||||
#include "mock_logservice_container/mock_log_sliding_window.h"
|
||||
#include "mock_logservice_container/mock_log_engine.h"
|
||||
#include "mock_logservice_container/mock_log_mode_mgr.h"
|
||||
#include "mock_logservice_container/mock_log_reconfirm.h"
|
||||
#include "mittest/logservice/env/mock_ob_locality_manager.h"
|
||||
#undef private
|
||||
namespace oceanbase
|
||||
{
|
||||
@ -58,9 +60,16 @@ public:
|
||||
mock_mode_mgr_ = OB_NEW(MockLogModeMgr, "TestLog");
|
||||
mock_reconfirm_ = OB_NEW(MockLogReconfirm, "TestLog");
|
||||
mock_plugins_ = OB_NEW(LogPlugins, "TestLog");
|
||||
mock_locality_cb_ = OB_NEW(MockObLocalityManager, "TestLog");
|
||||
|
||||
region_map_.create(OB_MAX_MEMBER_NUMBER, ObMemAttr(MTL_ID(), ObModIds::OB_HASH_NODE,
|
||||
ObCtxIds::DEFAULT_CTX_ID));
|
||||
EXPECT_EQ(OB_SUCCESS, mock_locality_cb_->init(®ion_map_));
|
||||
EXPECT_EQ(OB_SUCCESS, mock_plugins_->add_plugin(dynamic_cast<PalfLocalityInfoCb*>(mock_locality_cb_)));
|
||||
}
|
||||
~TestLogConfigMgr()
|
||||
{
|
||||
EXPECT_EQ(OB_SUCCESS, mock_plugins_->del_plugin(dynamic_cast<PalfLocalityInfoCb*>(mock_locality_cb_)));
|
||||
OB_DELETE(MockElection, "TestLog", mock_election_);
|
||||
OB_DELETE(MockLogStateMgr, "TestLog", mock_state_mgr_);
|
||||
OB_DELETE(MockLogSlidingWindow, "TestLog", mock_sw_);
|
||||
@ -68,6 +77,7 @@ public:
|
||||
OB_DELETE(MockLogModeMgr, "TestLog", mock_mode_mgr_);
|
||||
OB_DELETE(MockLogReconfirm, "TestLog", mock_reconfirm_);
|
||||
OB_DELETE(LogPlugins, "TestLog", mock_plugins_);
|
||||
OB_DELETE(MockObLocalityManager, "TestLog", mock_locality_cb_);
|
||||
}
|
||||
void init_test_log_config_env(const common::ObAddr &self,
|
||||
const LogConfigInfoV2 &config_info,
|
||||
@ -93,14 +103,6 @@ public:
|
||||
EXPECT_EQ(OB_SUCCESS, config_meta.generate(init_pid, config_info, config_info, 1, LSN(0), 1));
|
||||
EXPECT_EQ(OB_SUCCESS, cm.init(1, self, config_meta, mock_log_engine_, mock_sw_, mock_state_mgr_, mock_election_,
|
||||
mock_mode_mgr_, mock_reconfirm_, mock_plugins_));
|
||||
LogMemberRegionMap region_map;
|
||||
EXPECT_EQ(OB_SUCCESS, region_map.init("localmap", OB_MAX_MEMBER_NUMBER));
|
||||
for (int i = 0; i < cm.alive_paxos_memberlist_.get_member_number(); ++i) {
|
||||
ObAddr server;
|
||||
cm.alive_paxos_memberlist_.get_server_by_index(i, server);
|
||||
region_map.insert(server, default_region);
|
||||
}
|
||||
EXPECT_EQ(OB_SUCCESS, cm.set_paxos_member_region_map(region_map));
|
||||
}
|
||||
public:
|
||||
mockelection::MockElection *mock_election_;
|
||||
@ -110,6 +112,8 @@ public:
|
||||
palf::MockLogModeMgr *mock_mode_mgr_;
|
||||
palf::MockLogReconfirm *mock_reconfirm_;
|
||||
palf::LogPlugins *mock_plugins_;
|
||||
unittest::MockObLocalityManager *mock_locality_cb_;
|
||||
LogMemberRegionMap region_map_;
|
||||
};
|
||||
|
||||
TEST_F(TestLogConfigMgr, test_set_initial_member_list)
|
||||
@ -225,28 +229,6 @@ TEST_F(TestLogConfigMgr, test_handle_learner_keepalive)
|
||||
EXPECT_GT(child_in_list.keepalive_ts_, 0);
|
||||
}
|
||||
|
||||
TEST_F(TestLogConfigMgr, test_set_paxos_member_region_map)
|
||||
{
|
||||
LogConfigMgr cm;
|
||||
cm.is_inited_ = true;
|
||||
EXPECT_EQ(OB_SUCCESS, cm.paxos_member_region_map_.init("testmap", OB_MAX_MEMBER_NUMBER));
|
||||
cm.alive_paxos_memberlist_.add_server(addr1);
|
||||
cm.alive_paxos_memberlist_.add_server(addr2);
|
||||
cm.alive_paxos_memberlist_.add_server(addr3);
|
||||
LogMemberRegionMap region_map;
|
||||
EXPECT_EQ(OB_SUCCESS, region_map.init("localmap", OB_MAX_MEMBER_NUMBER));
|
||||
region_map.insert(addr1, region1);
|
||||
region_map.insert(addr2, region2);
|
||||
cm.set_paxos_member_region_map(region_map);
|
||||
ObRegion tmp_region;
|
||||
EXPECT_EQ(OB_SUCCESS, cm.paxos_member_region_map_.get(addr1, tmp_region));
|
||||
EXPECT_EQ(region1, tmp_region);
|
||||
EXPECT_EQ(OB_SUCCESS, cm.paxos_member_region_map_.get(addr2, tmp_region));
|
||||
EXPECT_EQ(region2, tmp_region);
|
||||
EXPECT_EQ(OB_SUCCESS, cm.paxos_member_region_map_.get(addr3, tmp_region));
|
||||
EXPECT_EQ(default_region, tmp_region);
|
||||
}
|
||||
|
||||
TEST_F(TestLogConfigMgr, test_config_change_lock)
|
||||
{
|
||||
ObMemberList init_member_list;
|
||||
@ -1701,7 +1683,9 @@ TEST_F(TestLogConfigMgr, test_handle_register_parent_req)
|
||||
cm.all_learnerlist_.add_learner(ObMember(exist_child.get_server(), -1));
|
||||
child1.register_time_us_ = 1;
|
||||
child1.region_ = region1;
|
||||
cm.paxos_member_region_map_.update(addr2, region1);
|
||||
EXPECT_EQ(OB_SUCCESS, mock_locality_cb_->set_server_region(addr2, region1));
|
||||
// cm.paxos_member_region_map_.erase_refactored(addr2);
|
||||
// cm.paxos_member_region_map_.set_refactored(addr2, region1);
|
||||
// child1 register
|
||||
// duplicate register req, region has changed
|
||||
EXPECT_EQ(OB_SUCCESS, cm.handle_register_parent_req(child1, true));
|
||||
|
||||
@ -160,7 +160,7 @@ TEST_F(TestThrottlingUtils, test_calc_decay_factor)
|
||||
ASSERT_EQ(OB_INVALID_ARGUMENT, ObThrottlingUtils::calc_decay_factor(available_size, duration_us, chunk_size, decay_factor));
|
||||
duration_us = 1800 * 1000 * 1000L;
|
||||
ASSERT_EQ(OB_INVALID_ARGUMENT, ObThrottlingUtils::calc_decay_factor(available_size, duration_us, chunk_size, decay_factor));
|
||||
chunk_size = palf::MAX_LOG_BUFFER_SIZE;
|
||||
chunk_size = 2 * 1024 * 1024 + 24 * 1024;
|
||||
ASSERT_EQ(OB_SUCCESS, ObThrottlingUtils::calc_decay_factor(available_size, duration_us, chunk_size, decay_factor));
|
||||
//0.10934
|
||||
LOG_INFO("calc_decay_factor", K(chunk_size), K(duration_us), K(available_size), K(decay_factor));
|
||||
|
||||
@ -50,6 +50,24 @@ public:
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
|
||||
virtual int append_big_log(const void *buffer,
|
||||
const int64_t nbytes,
|
||||
const share::SCN &ref_scn,
|
||||
const bool need_nonblock,
|
||||
logservice::AppendCb *cb,
|
||||
palf::LSN &lsn,
|
||||
share::SCN &scn)
|
||||
{
|
||||
UNUSED(need_nonblock);
|
||||
UNUSED(buffer);
|
||||
UNUSED(nbytes);
|
||||
UNUSED(ref_scn);
|
||||
UNUSED(cb);
|
||||
UNUSED(lsn);
|
||||
UNUSED(scn);
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
|
||||
virtual int append(const void *buffer,
|
||||
const int64_t nbytes,
|
||||
const int64_t ref_ts_ns,
|
||||
@ -404,11 +422,6 @@ public:
|
||||
UNUSEDx(addr, is_valid_member, stat);
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
int set_region(const common::ObRegion ®ion)
|
||||
{
|
||||
UNUSED(region);
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
void wait_append_sync()
|
||||
{
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user