Set mds_checkpoint_scn when creating split dst tablets
This commit is contained in:
parent
53885e9d56
commit
0fa613ffd6
@ -253,7 +253,8 @@ TEST_F(TestLSMigrationParam, test_migrate_tablet_param)
|
||||
SCN scn;
|
||||
scn.convert_from_ts(ObTimeUtility::current_time());
|
||||
ret = src_handle.get_obj()->init_for_first_time_creation(allocator_, src_key.ls_id_, src_key.tablet_id_, src_key.tablet_id_,
|
||||
scn, 2022, create_tablet_schema, true/*need_create_empty_major_sstable*/, SCN::invalid_scn(), true/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, ls_handle.get_ls()->get_freezer());
|
||||
scn, 2022, create_tablet_schema, true/*need_create_empty_major_sstable*/, SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
SCN::invalid_scn()/*mds_checkpoint_scn*/, true/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, ls_handle.get_ls()->get_freezer());
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
|
||||
share::SCN create_commit_scn;
|
||||
@ -337,7 +338,8 @@ TEST_F(TestLSMigrationParam, test_migration_param_compat)
|
||||
SCN scn;
|
||||
scn.convert_from_ts(ObTimeUtility::current_time());
|
||||
ret = src_handle.get_obj()->init_for_first_time_creation(allocator_, src_key.ls_id_, src_key.tablet_id_, src_key.tablet_id_,
|
||||
scn, 2022, create_tablet_schema, true/*need_create_empty_major_sstable*/, SCN::invalid_scn(), true/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, ls_handle.get_ls()->get_freezer());
|
||||
scn, 2022, create_tablet_schema, true/*need_create_empty_major_sstable*/, SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
SCN::invalid_scn()/*mds_checkpoint_scn*/, true/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, ls_handle.get_ls()->get_freezer());
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
|
||||
share::SCN create_commit_scn;
|
||||
|
@ -170,7 +170,8 @@ void TestLSTabletInfoWR::fill_tablet_meta()
|
||||
SCN scn;
|
||||
scn.convert_from_ts(ObTimeUtility::current_time());
|
||||
ret = src_handle.get_obj()->init_for_first_time_creation(arena_allocator_, src_key.ls_id_, src_key.tablet_id_, src_key.tablet_id_,
|
||||
scn, 2022, create_tablet_schema, true/*need_create_empty_major_sstable*/, share::SCN::invalid_scn(), false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, ls_handle.get_ls()->get_freezer());
|
||||
scn, 2022, create_tablet_schema, true/*need_create_empty_major_sstable*/, share::SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
share::SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, ls_handle.get_ls()->get_freezer());
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
|
||||
share::SCN create_commit_scn;
|
||||
|
@ -728,7 +728,8 @@ TEST_F(TestTenantMetaMemMgr, test_wash_tablet)
|
||||
|
||||
ObTabletID empty_tablet_id;
|
||||
ret = tablet->init_for_first_time_creation(allocator_, ls_id_, tablet_id, tablet_id,
|
||||
create_scn, create_scn.get_val_for_tx(), create_tablet_schema, true/*need_create_empty_major_sstable*/, SCN::invalid_scn(), false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
create_scn, create_scn.get_val_for_tx(), create_tablet_schema, true/*need_create_empty_major_sstable*/,
|
||||
SCN::invalid_scn()/*clog_checkpoint_scn*/, SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
ASSERT_EQ(1, tablet->get_ref());
|
||||
const ObTabletPersisterParam persist_param(ls_id_, ls_handle.get_ls()->get_ls_epoch(), tablet_id, tablet->get_transfer_seq());
|
||||
@ -829,7 +830,7 @@ TEST_F(TestTenantMetaMemMgr, test_wash_inner_tablet)
|
||||
bool make_empty_co_sstable = true;
|
||||
ret = tablet->init_for_first_time_creation(allocator_, ls_id_, tablet_id, tablet_id,
|
||||
create_scn, create_scn.get_val_for_tx(), create_tablet_schema,
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn(), false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn()/*clog_checkpoint_scn*/, SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
ASSERT_EQ(1, tablet->get_ref());
|
||||
|
||||
@ -942,7 +943,8 @@ TEST_F(TestTenantMetaMemMgr, test_wash_no_sstable_tablet)
|
||||
bool make_empty_co_sstable = false;
|
||||
ret = tablet->init_for_first_time_creation(allocator_, ls_id_, tablet_id, tablet_id,
|
||||
create_scn, create_scn.get_val_for_tx(), create_tablet_schema,
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn(), false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
share::SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
ASSERT_EQ(1, tablet->get_ref());
|
||||
|
||||
@ -1041,7 +1043,8 @@ TEST_F(TestTenantMetaMemMgr, test_get_tablet_with_allocator)
|
||||
bool make_empty_co_sstable = true;
|
||||
ret = tablet->init_for_first_time_creation(allocator_, ls_id_, tablet_id, tablet_id,
|
||||
create_scn, create_scn.get_val_for_tx(), create_tablet_schema,
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn(), false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
share::SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
ASSERT_EQ(1, tablet->get_ref());
|
||||
|
||||
@ -1173,7 +1176,8 @@ TEST_F(TestTenantMetaMemMgr, test_wash_mem_tablet)
|
||||
bool make_empty_co_sstable = false;
|
||||
ret = tablet->init_for_first_time_creation(allocator_, ls_id_, tablet_id, tablet_id,
|
||||
create_scn, create_scn.get_val_for_tx(), create_tablet_schema,
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn(), false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
make_empty_co_sstable/*need_create_empty_major_sstable*/, share::SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
share::SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, &freezer);
|
||||
ASSERT_EQ(common::OB_SUCCESS, ret);
|
||||
ASSERT_EQ(1, tablet->get_ref());
|
||||
|
||||
|
@ -736,7 +736,7 @@ int ObSplitPartitionHelper::start_dst_(
|
||||
|
||||
// create dst tablets
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(tablet_creator->modify_batch_args(storage::ObTabletMdsUserDataType::START_SPLIT_DST, data_end_scn, true/*clear_auto_part_size*/))) {
|
||||
} else if (OB_FAIL(tablet_creator->modify_batch_args(storage::ObTabletMdsUserDataType::START_SPLIT_DST, data_end_scn, data_end_scn, true/*clear_auto_part_size*/))) {
|
||||
LOG_WARN("failed to set clog checkpoint scn of tablet creator args", KR(ret));
|
||||
} else if (OB_FAIL(tablet_creator->execute())) {
|
||||
LOG_WARN("execute create partition failed", KR(ret));
|
||||
|
@ -390,6 +390,7 @@ int ObTabletCreator::add_create_tablet_arg(const ObTabletCreatorArg &arg)
|
||||
int ObTabletCreator::modify_batch_args(
|
||||
const storage::ObTabletMdsUserDataType &create_type,
|
||||
const SCN &clog_checkpoint_scn,
|
||||
const SCN &mds_checkpoint_scn,
|
||||
const bool clear_auto_part_size)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
@ -405,6 +406,7 @@ int ObTabletCreator::modify_batch_args(
|
||||
} else {
|
||||
while (OB_SUCC(ret) && OB_NOT_NULL(batch_arg)) {
|
||||
batch_arg->batch_arg_.clog_checkpoint_scn_ = clog_checkpoint_scn;
|
||||
batch_arg->batch_arg_.mds_checkpoint_scn_ = mds_checkpoint_scn;
|
||||
batch_arg->batch_arg_.create_type_ = create_type;
|
||||
if (clear_auto_part_size) {
|
||||
batch_arg->auto_part_size_arr_.reset();
|
||||
|
@ -140,7 +140,10 @@ const static int64_t BATCH_ARG_SIZE = 1024 * 1024; // 1M
|
||||
int execute();
|
||||
bool need_retry(int ret);
|
||||
int add_create_tablet_arg(const ObTabletCreatorArg &arg);
|
||||
int modify_batch_args(const storage::ObTabletMdsUserDataType &create_type, const share::SCN &clog_checkpoint_scn, const bool clear_auto_part_size);
|
||||
int modify_batch_args(const storage::ObTabletMdsUserDataType &create_type,
|
||||
const share::SCN &clog_checkpoint_scn,
|
||||
const share::SCN &mds_checkpoint_scn,
|
||||
const bool clear_auto_part_size);
|
||||
void reset();
|
||||
private:
|
||||
int find_leader_of_ls(const share::ObLSID &id, ObAddr &addr);
|
||||
|
@ -10385,6 +10385,7 @@ void ObBatchCreateTabletArg::reset()
|
||||
allocator_.reset();
|
||||
tablet_extra_infos_.reset();
|
||||
clog_checkpoint_scn_.reset();
|
||||
mds_checkpoint_scn_.reset();
|
||||
create_type_ = ObTabletMdsUserDataType::CREATE_TABLET;
|
||||
}
|
||||
|
||||
@ -10433,6 +10434,7 @@ int ObBatchCreateTabletArg::assign(const ObBatchCreateTabletArg &arg)
|
||||
need_check_tablet_cnt_ = arg.need_check_tablet_cnt_;
|
||||
is_old_mds_ = arg.is_old_mds_;
|
||||
clog_checkpoint_scn_ = arg.clog_checkpoint_scn_;
|
||||
mds_checkpoint_scn_ = arg.mds_checkpoint_scn_;
|
||||
create_type_ = arg.create_type_;
|
||||
}
|
||||
return ret;
|
||||
@ -10640,7 +10642,7 @@ int ObBatchCreateTabletArg::is_old_mds(const char *buf,
|
||||
DEF_TO_STRING(ObBatchCreateTabletArg)
|
||||
{
|
||||
int64_t pos = 0;
|
||||
J_KV(K_(id), K_(major_frozen_scn), K_(need_check_tablet_cnt), K_(is_old_mds), K_(tablets), K_(tablet_extra_infos), K_(clog_checkpoint_scn), K_(create_type));
|
||||
J_KV(K_(id), K_(major_frozen_scn), K_(need_check_tablet_cnt), K_(is_old_mds), K_(tablets), K_(tablet_extra_infos), K_(clog_checkpoint_scn), K_(create_type), K_(mds_checkpoint_scn));
|
||||
return pos;
|
||||
}
|
||||
|
||||
@ -10654,7 +10656,7 @@ OB_DEF_SERIALIZE(ObBatchCreateTabletArg)
|
||||
} else {
|
||||
OB_UNIS_ENCODE_ARRAY(tablet_extra_infos_, tablet_extra_infos_.count());
|
||||
}
|
||||
LST_DO_CODE(OB_UNIS_ENCODE, clog_checkpoint_scn_, create_type_);
|
||||
LST_DO_CODE(OB_UNIS_ENCODE, clog_checkpoint_scn_, create_type_, mds_checkpoint_scn_);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -10664,7 +10666,7 @@ OB_DEF_SERIALIZE_SIZE(ObBatchCreateTabletArg)
|
||||
LST_DO_CODE(OB_UNIS_ADD_LEN, id_, major_frozen_scn_, tablets_, table_schemas_, need_check_tablet_cnt_, is_old_mds_);
|
||||
len += get_serialize_size_for_create_tablet_schemas();
|
||||
OB_UNIS_ADD_LEN_ARRAY(tablet_extra_infos_, tablet_extra_infos_.count());
|
||||
LST_DO_CODE(OB_UNIS_ADD_LEN, clog_checkpoint_scn_, create_type_);
|
||||
LST_DO_CODE(OB_UNIS_ADD_LEN, clog_checkpoint_scn_, create_type_, mds_checkpoint_scn_);
|
||||
return len;
|
||||
}
|
||||
|
||||
@ -10708,7 +10710,7 @@ OB_DEF_DESERIALIZE(ObBatchCreateTabletArg)
|
||||
}
|
||||
}
|
||||
}
|
||||
LST_DO_CODE(OB_UNIS_DECODE, clog_checkpoint_scn_, create_type_);
|
||||
LST_DO_CODE(OB_UNIS_DECODE, clog_checkpoint_scn_, create_type_, mds_checkpoint_scn_);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -4419,6 +4419,7 @@ public:
|
||||
common::ObSArray<ObCreateTabletExtraInfo> tablet_extra_infos_;
|
||||
share::SCN clog_checkpoint_scn_;
|
||||
storage::ObTabletMdsUserDataType create_type_;
|
||||
share::SCN mds_checkpoint_scn_;
|
||||
};
|
||||
|
||||
struct ObBatchRemoveTabletArg
|
||||
|
@ -2408,6 +2408,7 @@ int ObLSTabletService::create_tablet(
|
||||
const lib::Worker::CompatMode &compat_mode,
|
||||
const bool need_create_empty_major_sstable,
|
||||
const share::SCN &clog_checkpoint_scn,
|
||||
const share::SCN &mds_checkpoint_scn,
|
||||
const bool micro_index_clustered,
|
||||
const bool has_cs_replica,
|
||||
ObTabletHandle &tablet_handle)
|
||||
@ -2437,7 +2438,7 @@ int ObLSTabletService::create_tablet(
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_ERROR("new tablet is null", K(ret), KP(tablet), KP(allocator), K(tablet_handle));
|
||||
} else if (OB_FAIL(tablet->init_for_first_time_creation(*allocator, ls_id, tablet_id, data_tablet_id,
|
||||
create_scn, snapshot_version, create_tablet_schema, need_create_empty_major_sstable, clog_checkpoint_scn, micro_index_clustered, need_generate_cs_replica_cg_array, has_cs_replica, freezer))) {
|
||||
create_scn, snapshot_version, create_tablet_schema, need_create_empty_major_sstable, clog_checkpoint_scn, mds_checkpoint_scn, micro_index_clustered, need_generate_cs_replica_cg_array, has_cs_replica, freezer))) {
|
||||
LOG_WARN("failed to init tablet", K(ret), K(ls_id), K(tablet_id), K(data_tablet_id),
|
||||
K(create_scn), K(snapshot_version), K(create_tablet_schema));
|
||||
} else if (OB_FAIL(tablet->get_updating_tablet_pointer_param(param))) {
|
||||
@ -2489,6 +2490,7 @@ int ObLSTabletService::create_inner_tablet(
|
||||
const ObTabletPersisterParam param(ls_id, ls_->get_ls_epoch(), tablet_id, ObTabletTransferInfo::TRANSFER_INIT_SEQ);
|
||||
ObTimeGuard time_guard("ObLSTabletService::create_inner_tablet", 10_ms);
|
||||
const share::SCN clog_checkpoint_scn = ObTabletMeta::INIT_CLOG_CHECKPOINT_SCN;
|
||||
const share::SCN mds_checkpoint_scn = ObTabletMeta::INIT_CLOG_CHECKPOINT_SCN;
|
||||
|
||||
ObBucketHashWLockGuard lock_guard(bucket_lock_, tablet_id.hash());
|
||||
if (OB_FAIL(ObTabletCreateDeleteHelper::create_tmp_tablet(key, allocator, tmp_tablet_hdl))) {
|
||||
@ -2498,7 +2500,7 @@ int ObLSTabletService::create_inner_tablet(
|
||||
LOG_ERROR("new tablet is null", K(ret), KPC(tmp_tablet), K(tmp_tablet_hdl));
|
||||
} else if (FALSE_IT(time_guard.click("CreateTablet"))) {
|
||||
} else if (OB_FAIL(tmp_tablet->init_for_first_time_creation(allocator, ls_id, tablet_id, data_tablet_id,
|
||||
create_scn, snapshot_version, create_tablet_schema, true/*need_create_empty_major_sstable*/, clog_checkpoint_scn, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, freezer))) {
|
||||
create_scn, snapshot_version, create_tablet_schema, true/*need_create_empty_major_sstable*/, clog_checkpoint_scn, mds_checkpoint_scn, false/*micro_index_clustered*/, false/*need_generate_cs_replica_cg_array*/, false/*has_cs_replica*/, freezer))) {
|
||||
LOG_WARN("failed to init tablet", K(ret), K(ls_id), K(tablet_id), K(data_tablet_id),
|
||||
K(create_scn), K(snapshot_version), K(create_tablet_schema));
|
||||
} else if (FALSE_IT(time_guard.click("InitTablet"))) {
|
||||
|
@ -172,6 +172,7 @@ public:
|
||||
const lib::Worker::CompatMode &compat_mode,
|
||||
const bool need_create_empty_major_sstable,
|
||||
const share::SCN &clog_checkpoint_scn,
|
||||
const share::SCN &mds_checkpoint_scn,
|
||||
const bool micro_index_clustered,
|
||||
const bool has_cs_replica,
|
||||
ObTabletHandle &tablet_handle);
|
||||
|
@ -343,6 +343,7 @@ int ObTablet::init_for_first_time_creation(
|
||||
const ObCreateTabletSchema &create_tablet_schema,
|
||||
const bool need_create_empty_major_sstable,
|
||||
const share::SCN &clog_checkpoint_scn,
|
||||
const share::SCN &mds_checkpoint_scn,
|
||||
const bool micro_index_clustered,
|
||||
const bool need_generate_cs_replica_cg_array,
|
||||
const bool has_cs_replica,
|
||||
@ -379,7 +380,7 @@ int ObTablet::init_for_first_time_creation(
|
||||
LOG_WARN("failed to init shared params", K(ret), K(ls_id), K(tablet_id), K(compat_mode), KP(freezer));
|
||||
} else if (OB_FAIL(tablet_meta_.init(ls_id, tablet_id, data_tablet_id,
|
||||
create_scn, snapshot_version, compat_mode, table_store_flag, create_tablet_schema.get_schema_version()/*create_schema_version*/,
|
||||
clog_checkpoint_scn, micro_index_clustered, has_cs_replica, need_generate_cs_replica_cg_array))) {
|
||||
clog_checkpoint_scn, mds_checkpoint_scn, micro_index_clustered, has_cs_replica, need_generate_cs_replica_cg_array))) {
|
||||
LOG_WARN("failed to init tablet meta", K(ret), K(ls_id), K(tablet_id), K(data_tablet_id),
|
||||
K(create_scn), K(snapshot_version), K(compat_mode), K(table_store_flag));
|
||||
} else if (OB_FAIL(pull_memtables(allocator))) {
|
||||
@ -602,6 +603,7 @@ int ObTablet::init_for_shared_merge(
|
||||
old_tablet.tablet_meta_.table_store_flag_,
|
||||
old_tablet.tablet_meta_.create_schema_version_,
|
||||
SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
SCN::invalid_scn()/*mds_checkpoint_scn*/,
|
||||
old_tablet.tablet_meta_.micro_index_clustered_,
|
||||
false /*has_cs_replica*/,
|
||||
false /*need_generate_cs_replica_cg_array*/))) {
|
||||
|
@ -197,6 +197,7 @@ public:
|
||||
const ObCreateTabletSchema &storage_schema,
|
||||
const bool need_create_empty_major_sstable,
|
||||
const share::SCN &clog_checkpoint_scn,
|
||||
const share::SCN &mds_checkpoint_scn,
|
||||
const bool micro_index_clustered,
|
||||
const bool need_generate_cs_replica_cg_array,
|
||||
const bool has_cs_replica,
|
||||
|
@ -676,6 +676,7 @@ int ObTabletCreateMdsHelper::build_pure_data_tablet(
|
||||
const lib::Worker::CompatMode &compat_mode = info.compat_mode_;
|
||||
const int64_t snapshot_version = arg.major_frozen_scn_.get_val_for_tx();
|
||||
const share::SCN &clog_checkpoint_scn = arg.clog_checkpoint_scn_;
|
||||
const share::SCN &mds_checkpoint_scn = arg.mds_checkpoint_scn_;
|
||||
const bool has_cs_replica = info.has_cs_replica_;
|
||||
ObTabletHandle tablet_handle;
|
||||
bool exist = false;
|
||||
@ -719,7 +720,7 @@ int ObTabletCreateMdsHelper::build_pure_data_tablet(
|
||||
LOG_WARN("check and get create tablet schema_info failed", K(ret));
|
||||
} else if (CLICK_FAIL(ls->get_tablet_svr()->create_tablet(ls_id, data_tablet_id, data_tablet_id,
|
||||
scn, snapshot_version, *create_tablet_schema, compat_mode,
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, mds_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
LOG_WARN("failed to do create tablet", K(ret), K(ls_id), K(data_tablet_id), "arg", PRETTY_ARG(arg));
|
||||
}
|
||||
|
||||
@ -751,6 +752,7 @@ int ObTabletCreateMdsHelper::build_mixed_tablets(
|
||||
const ObSArray<obrpc::ObCreateTabletExtraInfo> &create_tablet_extra_infos = arg.tablet_extra_infos_;
|
||||
const int64_t snapshot_version = arg.major_frozen_scn_.get_val_for_tx();
|
||||
const share::SCN &clog_checkpoint_scn = arg.clog_checkpoint_scn_;
|
||||
const share::SCN &mds_checkpoint_scn = arg.mds_checkpoint_scn_;
|
||||
const bool has_cs_replica = info.has_cs_replica_;
|
||||
ObTabletHandle data_tablet_handle;
|
||||
ObTabletHandle tablet_handle;
|
||||
@ -808,7 +810,7 @@ int ObTabletCreateMdsHelper::build_mixed_tablets(
|
||||
LOG_WARN("failed to push back tablet id", K(ret), K(ls_id), K(tablet_id));
|
||||
} else if (CLICK_FAIL(ls->get_tablet_svr()->create_tablet(ls_id, tablet_id, data_tablet_id,
|
||||
scn, snapshot_version, *create_tablet_schema, compat_mode,
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, mds_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
LOG_WARN("failed to do create tablet", K(ret), K(ls_id), K(tablet_id), K(data_tablet_id), "arg", PRETTY_ARG(arg));
|
||||
}
|
||||
|
||||
@ -858,6 +860,7 @@ int ObTabletCreateMdsHelper::build_pure_aux_tablets(
|
||||
const ObSArray<obrpc::ObCreateTabletExtraInfo> &create_tablet_extra_infos = arg.tablet_extra_infos_;
|
||||
const int64_t snapshot_version = arg.major_frozen_scn_.get_val_for_tx();
|
||||
const share::SCN &clog_checkpoint_scn = arg.clog_checkpoint_scn_;
|
||||
const share::SCN &mds_checkpoint_scn = arg.mds_checkpoint_scn_;
|
||||
const bool has_cs_replica = info.has_cs_replica_;
|
||||
ObTabletHandle tablet_handle;
|
||||
bool exist = false;
|
||||
@ -905,7 +908,7 @@ int ObTabletCreateMdsHelper::build_pure_aux_tablets(
|
||||
LOG_WARN("check and get create tablet schema_info failed", K(ret));
|
||||
} else if (CLICK_FAIL(ls->get_tablet_svr()->create_tablet(ls_id, tablet_id, data_tablet_id,
|
||||
scn, snapshot_version, *create_tablet_schema, compat_mode,
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, mds_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
LOG_WARN("failed to do create tablet", K(ret), K(ls_id), K(tablet_id), K(data_tablet_id), "arg", PRETTY_ARG(arg));
|
||||
}
|
||||
|
||||
@ -940,6 +943,7 @@ int ObTabletCreateMdsHelper::build_bind_hidden_tablets(
|
||||
const ObSArray<obrpc::ObCreateTabletExtraInfo> &create_tablet_extra_infos = arg.tablet_extra_infos_;
|
||||
const int64_t snapshot_version = arg.major_frozen_scn_.get_val_for_tx();
|
||||
const share::SCN &clog_checkpoint_scn = arg.clog_checkpoint_scn_;
|
||||
const share::SCN &mds_checkpoint_scn = arg.mds_checkpoint_scn_;
|
||||
const bool has_cs_replica = info.has_cs_replica_;
|
||||
ObTabletHandle tablet_handle;
|
||||
int64_t aux_info_idx = -1;
|
||||
@ -1010,7 +1014,7 @@ int ObTabletCreateMdsHelper::build_bind_hidden_tablets(
|
||||
LOG_WARN("failed to push back tablet id", K(ret), K(ls_id), K(tablet_id));
|
||||
} else if (CLICK_FAIL(ls->get_tablet_svr()->create_tablet(ls_id, tablet_id, tablet_id,
|
||||
scn, snapshot_version, *create_tablet_schema, compat_mode,
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
need_create_empty_major_sstable, clog_checkpoint_scn, mds_checkpoint_scn, micro_index_clustered, has_cs_replica, tablet_handle))) {
|
||||
LOG_WARN("failed to do create tablet", K(ret), K(ls_id), K(tablet_id), K(orig_tablet_id), "arg", PRETTY_ARG(arg));
|
||||
}
|
||||
|
||||
|
@ -88,6 +88,7 @@ int ObTabletMeta::init(
|
||||
const ObTabletTableStoreFlag &table_store_flag,
|
||||
const int64_t create_schema_version,
|
||||
const share::SCN &clog_checkpoint_scn,
|
||||
const share::SCN &mds_checkpoint_scn,
|
||||
const bool micro_index_clustered,
|
||||
const bool has_cs_replica,
|
||||
const bool need_generate_cs_replica_cg_array)
|
||||
@ -129,7 +130,7 @@ int ObTabletMeta::init(
|
||||
ddl_snapshot_version_ = 0;
|
||||
max_sync_storage_schema_version_ = create_schema_version;
|
||||
ddl_data_format_version_ = 0;
|
||||
mds_checkpoint_scn_ = INIT_CLOG_CHECKPOINT_SCN;
|
||||
mds_checkpoint_scn_ = mds_checkpoint_scn.is_valid() ? mds_checkpoint_scn : INIT_CLOG_CHECKPOINT_SCN;
|
||||
report_status_.merge_snapshot_version_ = snapshot_version;
|
||||
report_status_.cur_report_version_ = snapshot_version;
|
||||
report_status_.data_checksum_ = 0;
|
||||
|
@ -71,6 +71,7 @@ public:
|
||||
const ObTabletTableStoreFlag &table_store_flag,
|
||||
const int64_t create_schema_version,
|
||||
const share::SCN &clog_checkpoint_scn,
|
||||
const share::SCN &mds_checkpoint_scn,
|
||||
const bool micro_index_clustered,
|
||||
const bool has_cs_replica,
|
||||
const bool need_generate_cs_replica_cg_array);
|
||||
|
@ -443,7 +443,8 @@ int TestCompactionPolicy::mock_tablet(
|
||||
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, SCN::invalid_scn(), false/*micro_index_clustered*/, need_generate_cs_replica_cg_array, false/*has_cs_replica*/, ls_handle.get_ls()->get_freezer()))) {
|
||||
SCN::min_scn(), snapshot_version, create_tablet_schema, need_empty_major_table, SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, need_generate_cs_replica_cg_array, false/*has_cs_replica*/, 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 {
|
||||
|
@ -138,7 +138,8 @@ inline int TestTabletHelper::create_tablet(
|
||||
} 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, share::SCN::invalid_scn(), false/*micro_index_clustered*/, need_generate_cs_replica_cg_array, false/*has_cs_replica*/, freezer))){
|
||||
snapshot_version, create_tablet_schema, need_create_empty_major_sstable, share::SCN::invalid_scn()/*clog_checkpoint_scn*/,
|
||||
share::SCN::invalid_scn()/*mds_checkpoint_scn*/, false/*micro_index_clustered*/, need_generate_cs_replica_cg_array, false/*has_cs_replica*/, 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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user