[FEAT MERGE] Column Store Replica

Co-authored-by: LeonChaoHi <15201161716@163.com>
Co-authored-by: zzg19950727 <1071026277@qq.com>
This commit is contained in:
Tsunaou
2024-08-22 11:26:15 +00:00
committed by ob-robot
parent 11d47a78ce
commit 81e39dc173
179 changed files with 4924 additions and 2176 deletions

View File

@ -385,6 +385,7 @@ static int mock_valid_ls_meta(obrpc::ObFetchLSMetaInfoResp &res)
res.ls_meta_package_.ls_meta_.clog_checkpoint_scn_.set_base();
res.ls_meta_package_.ls_meta_.migration_status_ = ObMigrationStatus::OB_MIGRATION_STATUS_NONE;
res.ls_meta_package_.ls_meta_.restore_status_ = share::ObLSRestoreStatus::NONE;
res.ls_meta_package_.ls_meta_.store_format_ = common::ObLSStoreType::OB_LS_STORE_NORMAL;
res.ls_meta_package_.dup_ls_meta_.ls_id_ = ls_id;
const palf::LSN lsn(184467440737095516);
res.ls_meta_package_.palf_meta_.prev_log_info_.lsn_ = lsn;

View File

@ -423,6 +423,7 @@ int TestCompactionPolicy::mock_tablet(
ObArenaAllocator arena_allocator;
ObCreateTabletSchema create_tablet_schema;
bool need_empty_major_table = false;
bool need_generate_cs_replica_cg_array = false;
if (OB_ISNULL(t3m)) {
ret = OB_ERR_UNEXPECTED;
@ -439,8 +440,9 @@ int TestCompactionPolicy::mock_tablet(
} else if (OB_FAIL(create_tablet_schema.init(arena_allocator, table_schema, compat_mode,
false/*skip_column_info*/, ObCreateTabletSchema::STORAGE_SCHEMA_VERSION_V3))) {
LOG_WARN("failed to init storage schema", KR(ret), K(table_schema));
} else if (FALSE_IT(need_generate_cs_replica_cg_array = ls_handle.get_ls()->is_cs_replica() && create_tablet_schema.is_row_store() && create_tablet_schema.is_user_data_table())) {
} else if (OB_FAIL(tablet->init_for_first_time_creation(allocator, ls_id, tablet_id, tablet_id,
SCN::min_scn(), snapshot_version, create_tablet_schema, need_empty_major_table, ls_handle.get_ls()->get_freezer()))) {
SCN::min_scn(), snapshot_version, create_tablet_schema, need_empty_major_table, need_generate_cs_replica_cg_array, ls_handle.get_ls()->get_freezer()))) {
LOG_WARN("failed to init tablet", K(ret), K(ls_id), K(tablet_id), K(snapshot_version),
K(table_schema), K(compat_mode));
} else {

View File

@ -130,12 +130,14 @@ inline int TestTabletHelper::create_tablet(
const ObTabletMapKey key(ls_id, tablet_id);
const bool need_create_empty_major_sstable =
!(create_tablet_schema.is_user_hidden_table() || (create_tablet_schema.is_index_table() && !create_tablet_schema.can_read_index()));
const bool need_generate_cs_replica_cg_array =
ls_handle.get_ls()->is_cs_replica() && create_tablet_schema.is_row_store() && create_tablet_schema.is_user_data_table();
if (OB_FAIL(t3m->create_msd_tablet(WashTabletPriority::WTP_HIGH, key, ls_handle, tablet_handle))) {
STORAGE_LOG(WARN, "t3m acquire tablet failed", K(ret), K(ls_id), K(tablet_id));
} else if (OB_FAIL(tablet_handle.get_obj()->init_for_first_time_creation(
*tablet_handle.get_allocator(),
ls_id, tablet_id, tablet_id, share::SCN::base_scn(),
snapshot_version, create_tablet_schema, need_create_empty_major_sstable, freezer))){
snapshot_version, create_tablet_schema, need_create_empty_major_sstable, need_generate_cs_replica_cg_array, freezer))){
STORAGE_LOG(WARN, "failed to init tablet", K(ret), K(ls_id), K(tablet_id));
} else if (ObTabletStatus::Status::MAX != tablet_status) {
ObTabletCreateDeleteMdsUserData data;

View File

@ -109,6 +109,7 @@ void TestMetaPointerMap::FakeLs(ObLS &ls)
ls.ls_meta_.migration_status_ = ObMigrationStatus::OB_MIGRATION_STATUS_NONE;
ls.ls_meta_.restore_status_ = ObLSRestoreStatus::NONE;
ls.ls_meta_.rebuild_seq_ = 0;
ls.ls_meta_.store_format_ = common::ObLSStoreType::OB_LS_STORE_NORMAL;
}
class CalculateSize final