Split logstream_freeze and tablet_freeze

This commit is contained in:
obdev
2022-12-01 07:38:29 +00:00
committed by ob-robot
parent 8a7d7b401e
commit 2754b76deb
14 changed files with 468 additions and 288 deletions

View File

@ -29,6 +29,7 @@
#include "storage/tx/ob_trans_define_v4.h"
#include "storage/memtable/mvcc/ob_mvcc_row.h"
#include "share/scn.h"
#include "storage/ls/ob_ls.h"
namespace oceanbase
{
@ -98,7 +99,7 @@ int ObMvccRow::check_double_insert_(const share::SCN ,
class TestMemtable : public testing::Test
{
public:
TestMemtable() : tenant_base_(1001),tablet_id_(1000),rowkey_cnt_(1) {}
TestMemtable() : tenant_base_(1001),tablet_id_(1000),rowkey_cnt_(1) { freezer_.init(&ls_); }
void SetUp() override {
share::ObTenantEnv::set_tenant(&tenant_base_);
// mock columns
@ -177,6 +178,7 @@ public:
read_info_.reset();
}
public:
ObLS ls_;
share::ObTenantBase tenant_base_;
storage::ObFreezer freezer_;
storage::ObTabletMemtableMgr memtable_mgr_;

View File

@ -302,7 +302,7 @@ int TestCompactionPolicy::mock_memtable(
LOG_WARN("failed to init memtable", K(ret));
} else if (OB_FAIL(mt_mgr->add_memtable_(table_handle))) {
LOG_WARN("failed to add memtable to mgr", K(ret));
} else if (OB_FAIL(memtable->add_to_data_checkpoint(mt_mgr->freezer_->get_data_checkpoint()))) {
} else if (OB_FAIL(memtable->add_to_data_checkpoint(mt_mgr->freezer_->get_ls_data_checkpoint()))) {
LOG_WARN("add to data_checkpoint failed", K(ret), KPC(memtable));
mt_mgr->clean_tail_memtable_();
} else if (OB_MAX_SCN_TS_NS != end_border) { // frozen memtable

View File

@ -65,12 +65,7 @@ public:
tablet_id_(LS_TX_DATA_TABLET),
ls_id_(1),
tenant_id_(1001),
freezer_((ObLSWRSHandler *)(0x1),
(ObLSTxService *)(0x1),
(ObLSTabletService *)(0x1),
(checkpoint::ObDataCheckpoint *)(0x1),
(logservice::ObILogHandler *)(0x1),
ls_id_),
freezer_(&ls_),
t3m_(common::OB_SERVER_TENANT_ID),
mt_mgr_(nullptr),
ctx_mt_mgr_(nullptr),
@ -95,7 +90,7 @@ protected:
virtual void SetUp() override
{
ObTxPalfParam palf_param((logservice::ObLogHandler *)(0x01));
freezer_.init(&ls_loop_worker_, &ls_tx_service_, &ls_tablet_service_, &ls_data_checkpoint_, &log_handler_, ls_id_);
freezer_.init(&ls_);
EXPECT_EQ(OB_SUCCESS, t3m_.init());
EXPECT_EQ(OB_SUCCESS,
ls_tx_ctx_mgr_.init(tenant_id_, /*tenant_id*/