Fix migration tablet parameter issues
This commit is contained in:
committed by
wangzelin.wzl
parent
6476060fb9
commit
08432fd243
@ -176,6 +176,7 @@ public:
|
|||||||
TO_STRING_KV(K_(intervals));
|
TO_STRING_KV(K_(intervals));
|
||||||
private:
|
private:
|
||||||
common::ObSArray<ObTabletAutoincInterval> intervals_;
|
common::ObSArray<ObTabletAutoincInterval> intervals_;
|
||||||
|
DISALLOW_COPY_AND_ASSIGN(ObTabletAutoincSeq);
|
||||||
};
|
};
|
||||||
|
|
||||||
}//end namespace share
|
}//end namespace share
|
||||||
|
|||||||
@ -189,7 +189,7 @@ int ObLSRestoreDagNet::init_by_param(const ObIDagInitParam *param)
|
|||||||
index_store_param.tenant_id_ = MTL_ID();
|
index_store_param.tenant_id_ = MTL_ID();
|
||||||
index_store_param.backup_set_id_ = backup_set_file_desc.backup_set_file_.backup_set_id_;
|
index_store_param.backup_set_id_ = backup_set_file_desc.backup_set_file_.backup_set_id_;
|
||||||
index_store_param.ls_id_ = init_param->arg_.ls_id_;
|
index_store_param.ls_id_ = init_param->arg_.ls_id_;
|
||||||
index_store_param.is_tenant_level_ = false;
|
index_store_param.is_tenant_level_ = false;
|
||||||
index_store_param.backup_data_type_ = data_type;
|
index_store_param.backup_data_type_ = data_type;
|
||||||
index_store_param.turn_id_ = backup_set_file_desc.backup_set_file_.data_turn_id_;
|
index_store_param.turn_id_ = backup_set_file_desc.backup_set_file_.data_turn_id_;
|
||||||
backup_set_desc.backup_set_id_ = backup_set_file_desc.backup_set_file_.backup_set_id_;
|
backup_set_desc.backup_set_id_ = backup_set_file_desc.backup_set_file_.backup_set_id_;
|
||||||
@ -202,19 +202,19 @@ int ObLSRestoreDagNet::init_by_param(const ObIDagInitParam *param)
|
|||||||
} else if (OB_FAIL(store.get_max_sys_ls_retry_id(backup_path, init_param->arg_.ls_id_, retry_id))) {
|
} else if (OB_FAIL(store.get_max_sys_ls_retry_id(backup_path, init_param->arg_.ls_id_, retry_id))) {
|
||||||
LOG_WARN("failed to get max sys retry id", K(ret), K(backup_path), KPC(init_param));
|
LOG_WARN("failed to get max sys retry id", K(ret), K(backup_path), KPC(init_param));
|
||||||
} else {
|
} else {
|
||||||
index_store_param.retry_id_ = retry_id;
|
index_store_param.retry_id_ = retry_id;
|
||||||
LOG_INFO("get max sys ls retry id", "arg", init_param->arg_, K(retry_id));
|
LOG_INFO("get max sys ls retry id", "arg", init_param->arg_, K(retry_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
share::ObBackupDest dest;
|
share::ObBackupDest dest;
|
||||||
if (OB_FAIL(ret)) {
|
if (OB_FAIL(ret)) {
|
||||||
} else if (OB_FAIL(meta_index_store_.init(mode, index_store_param,
|
} else if (OB_FAIL(meta_index_store_.init(mode, index_store_param,
|
||||||
init_param->arg_.restore_base_info_.backup_dest_,
|
init_param->arg_.restore_base_info_.backup_dest_,
|
||||||
backup_set_desc, false/*is_sec_meta*/, OB_BACKUP_INDEX_CACHE))) {
|
backup_set_desc, false/*is_sec_meta*/, OB_BACKUP_INDEX_CACHE))) {
|
||||||
LOG_WARN("failed to init meta index store", K(ret), KPC(init_param));
|
LOG_WARN("failed to init meta index store", K(ret), KPC(init_param));
|
||||||
} else if (OB_FAIL(second_meta_index_store_.init(mode, index_store_param,
|
} else if (OB_FAIL(second_meta_index_store_.init(mode, index_store_param,
|
||||||
init_param->arg_.restore_base_info_.backup_dest_,
|
init_param->arg_.restore_base_info_.backup_dest_,
|
||||||
backup_set_desc, true/*is_sec_meta*/, OB_BACKUP_INDEX_CACHE))) {
|
backup_set_desc, true/*is_sec_meta*/, OB_BACKUP_INDEX_CACHE))) {
|
||||||
LOG_WARN("failed to init macro index store", K(ret), KPC(init_param));
|
LOG_WARN("failed to init macro index store", K(ret), KPC(init_param));
|
||||||
}
|
}
|
||||||
@ -245,7 +245,7 @@ int ObLSRestoreDagNet::init_by_param(const ObIDagInitParam *param)
|
|||||||
if (OB_FAIL(ret)) {
|
if (OB_FAIL(ret)) {
|
||||||
LOG_WARN("init ls restore dag param failed", K(ret));
|
LOG_WARN("init ls restore dag param failed", K(ret));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -871,7 +871,7 @@ int ObStartLSRestoreTask::process()
|
|||||||
} else if (OB_FAIL(generate_tablets_restore_dag_())) {
|
} else if (OB_FAIL(generate_tablets_restore_dag_())) {
|
||||||
LOG_WARN("failed to generate tablets retore dag", K(ret), K(*ctx_));
|
LOG_WARN("failed to generate tablets retore dag", K(ret), K(*ctx_));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OB_FAIL(ret)) {
|
if (OB_FAIL(ret)) {
|
||||||
int tmp_ret = OB_SUCCESS;
|
int tmp_ret = OB_SUCCESS;
|
||||||
if (OB_SUCCESS != (tmp_ret = ObStorageHADagUtils::deal_with_fo(ret, this->get_dag()))) {
|
if (OB_SUCCESS != (tmp_ret = ObStorageHADagUtils::deal_with_fo(ret, this->get_dag()))) {
|
||||||
@ -1059,7 +1059,7 @@ int ObStartLSRestoreTask::update_ls_meta_()
|
|||||||
} else if (OB_ISNULL(ls = ls_handle.get_ls())) {
|
} else if (OB_ISNULL(ls = ls_handle.get_ls())) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("restore ls should not be NULL", K(ret), KPC(ctx_));
|
LOG_WARN("restore ls should not be NULL", K(ret), KPC(ctx_));
|
||||||
} else if (OB_FAIL(ls->update_ls_meta(false/*don't update restore status*/,
|
} else if (OB_FAIL(ls->update_ls_meta(false/*don't update restore status*/,
|
||||||
ctx_->src_ls_meta_package_.ls_meta_))) {
|
ctx_->src_ls_meta_package_.ls_meta_))) {
|
||||||
LOG_WARN("fail to update ls meta", K(ret), KPC(ls), KPC(ctx_));
|
LOG_WARN("fail to update ls meta", K(ret), KPC(ls), KPC(ctx_));
|
||||||
} else {
|
} else {
|
||||||
@ -2041,6 +2041,7 @@ int ObTabletGroupMetaRestoreTask::create_or_update_tablet_(
|
|||||||
param.ls_id_ = ctx_->arg_.ls_id_;
|
param.ls_id_ = ctx_->arg_.ls_id_;
|
||||||
param.tablet_id_ = tablet_id;
|
param.tablet_id_ = tablet_id;
|
||||||
param.data_tablet_id_ = tablet_id;
|
param.data_tablet_id_ = tablet_id;
|
||||||
|
param.create_scn_ = ObTabletMeta::INIT_CREATE_SCN;
|
||||||
param.clog_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
param.clog_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
||||||
param.compat_mode_ = lib::Worker::get_compatibility_mode();
|
param.compat_mode_ = lib::Worker::get_compatibility_mode();
|
||||||
param.multi_version_start_ = 0;
|
param.multi_version_start_ = 0;
|
||||||
|
|||||||
@ -1012,6 +1012,7 @@ int ObCopyTabletInfoObProducer::build_deleted_tablet_info_(
|
|||||||
tablet_info.param_.ls_id_ = ls_id;
|
tablet_info.param_.ls_id_ = ls_id;
|
||||||
tablet_info.param_.tablet_id_ = tablet_id;
|
tablet_info.param_.tablet_id_ = tablet_id;
|
||||||
tablet_info.param_.data_tablet_id_ = tablet_id;
|
tablet_info.param_.data_tablet_id_ = tablet_id;
|
||||||
|
tablet_info.param_.create_scn_ = ObTabletMeta::INIT_CREATE_SCN;
|
||||||
tablet_info.param_.start_scn_ = ObTabletMeta::INIT_CLOG_CHECKPOINT_TS;
|
tablet_info.param_.start_scn_ = ObTabletMeta::INIT_CLOG_CHECKPOINT_TS;
|
||||||
tablet_info.param_.clog_checkpoint_ts_ = ObTabletMeta::INIT_CLOG_CHECKPOINT_TS;
|
tablet_info.param_.clog_checkpoint_ts_ = ObTabletMeta::INIT_CLOG_CHECKPOINT_TS;
|
||||||
tablet_info.param_.compat_mode_ = lib::Worker::get_compatibility_mode();
|
tablet_info.param_.compat_mode_ = lib::Worker::get_compatibility_mode();
|
||||||
@ -1873,6 +1874,7 @@ int ObCopySSTableInfoObProducer::fake_deleted_tablet_meta_(
|
|||||||
tablet_meta.ls_id_ = ls_id_;
|
tablet_meta.ls_id_ = ls_id_;
|
||||||
tablet_meta.tablet_id_ = tablet_sstable_info_.tablet_id_;
|
tablet_meta.tablet_id_ = tablet_sstable_info_.tablet_id_;
|
||||||
tablet_meta.data_tablet_id_ = tablet_sstable_info_.tablet_id_;
|
tablet_meta.data_tablet_id_ = tablet_sstable_info_.tablet_id_;
|
||||||
|
tablet_meta.create_scn_ = ObTabletMeta::INIT_CREATE_SCN;
|
||||||
tablet_meta.start_scn_ = ObTabletMeta::INIT_CLOG_CHECKPOINT_TS;
|
tablet_meta.start_scn_ = ObTabletMeta::INIT_CLOG_CHECKPOINT_TS;
|
||||||
tablet_meta.clog_checkpoint_ts_ = INT64_MAX;
|
tablet_meta.clog_checkpoint_ts_ = INT64_MAX;
|
||||||
tablet_meta.compat_mode_ = lib::Worker::get_compatibility_mode();
|
tablet_meta.compat_mode_ = lib::Worker::get_compatibility_mode();
|
||||||
|
|||||||
@ -1797,11 +1797,11 @@ int ObTablet::build_migration_tablet_param(ObMigrationTabletParam &mig_tablet_pa
|
|||||||
mig_tablet_param.tablet_id_ = tablet_meta_.tablet_id_;
|
mig_tablet_param.tablet_id_ = tablet_meta_.tablet_id_;
|
||||||
mig_tablet_param.data_tablet_id_ = tablet_meta_.data_tablet_id_;
|
mig_tablet_param.data_tablet_id_ = tablet_meta_.data_tablet_id_;
|
||||||
mig_tablet_param.ref_tablet_id_ = tablet_meta_.ref_tablet_id_;
|
mig_tablet_param.ref_tablet_id_ = tablet_meta_.ref_tablet_id_;
|
||||||
|
mig_tablet_param.create_scn_ = tablet_meta_.create_scn_;
|
||||||
mig_tablet_param.start_scn_ = tablet_meta_.start_scn_;
|
mig_tablet_param.start_scn_ = tablet_meta_.start_scn_;
|
||||||
mig_tablet_param.clog_checkpoint_ts_ = tablet_meta_.clog_checkpoint_ts_;
|
mig_tablet_param.clog_checkpoint_ts_ = tablet_meta_.clog_checkpoint_ts_;
|
||||||
mig_tablet_param.snapshot_version_ = tablet_meta_.snapshot_version_;
|
mig_tablet_param.snapshot_version_ = tablet_meta_.snapshot_version_;
|
||||||
mig_tablet_param.multi_version_start_ = tablet_meta_.multi_version_start_;
|
mig_tablet_param.multi_version_start_ = tablet_meta_.multi_version_start_;
|
||||||
mig_tablet_param.autoinc_seq_ = tablet_meta_.autoinc_seq_;
|
|
||||||
mig_tablet_param.compat_mode_ = tablet_meta_.compat_mode_;
|
mig_tablet_param.compat_mode_ = tablet_meta_.compat_mode_;
|
||||||
mig_tablet_param.ha_status_ = tablet_meta_.ha_status_;
|
mig_tablet_param.ha_status_ = tablet_meta_.ha_status_;
|
||||||
mig_tablet_param.tx_data_ = tablet_meta_.tx_data_;
|
mig_tablet_param.tx_data_ = tablet_meta_.tx_data_;
|
||||||
@ -1816,6 +1816,8 @@ int ObTablet::build_migration_tablet_param(ObMigrationTabletParam &mig_tablet_pa
|
|||||||
LOG_WARN("failed to copy storage schema", K(ret), K_(tablet_meta));
|
LOG_WARN("failed to copy storage schema", K(ret), K_(tablet_meta));
|
||||||
} else if (OB_FAIL(mig_tablet_param.ddl_data_.assign(tablet_meta_.ddl_data_))) {
|
} else if (OB_FAIL(mig_tablet_param.ddl_data_.assign(tablet_meta_.ddl_data_))) {
|
||||||
LOG_WARN("failed to assign ddl data", K(ret), K_(tablet_meta));
|
LOG_WARN("failed to assign ddl data", K(ret), K_(tablet_meta));
|
||||||
|
} else if (OB_FAIL(mig_tablet_param.autoinc_seq_.assign(tablet_meta_.autoinc_seq_))) {
|
||||||
|
LOG_WARN("failed to assign autoinc seq", K(ret), K_(tablet_meta));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -25,6 +25,10 @@ using namespace blocksstable;
|
|||||||
namespace storage
|
namespace storage
|
||||||
{
|
{
|
||||||
const int64_t ObTabletMeta::INIT_CLOG_CHECKPOINT_TS = 1;
|
const int64_t ObTabletMeta::INIT_CLOG_CHECKPOINT_TS = 1;
|
||||||
|
const int64_t ObTabletMeta::INVALID_CREATE_SCN = -2;
|
||||||
|
// multi source transaction leader has no log scn when first time register
|
||||||
|
// create tablet buffer, so the init create scn for tablet could be -1.
|
||||||
|
const int64_t ObTabletMeta::INIT_CREATE_SCN = -1;
|
||||||
|
|
||||||
ObTabletMeta::ObTabletMeta()
|
ObTabletMeta::ObTabletMeta()
|
||||||
: version_(TABLET_META_VERSION),
|
: version_(TABLET_META_VERSION),
|
||||||
@ -34,7 +38,7 @@ ObTabletMeta::ObTabletMeta()
|
|||||||
data_tablet_id_(),
|
data_tablet_id_(),
|
||||||
ref_tablet_id_(),
|
ref_tablet_id_(),
|
||||||
has_next_tablet_(false),
|
has_next_tablet_(false),
|
||||||
create_scn_(OB_INVALID_TIMESTAMP),
|
create_scn_(ObTabletMeta::INVALID_CREATE_SCN),
|
||||||
start_scn_(OB_INVALID_TIMESTAMP),
|
start_scn_(OB_INVALID_TIMESTAMP),
|
||||||
clog_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
clog_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
||||||
ddl_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
ddl_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
||||||
@ -301,7 +305,7 @@ int ObTabletMeta::init(
|
|||||||
ddl_start_log_ts_ = old_tablet_meta.ddl_start_log_ts_;
|
ddl_start_log_ts_ = old_tablet_meta.ddl_start_log_ts_;
|
||||||
ddl_snapshot_version_ = old_tablet_meta.ddl_snapshot_version_;
|
ddl_snapshot_version_ = old_tablet_meta.ddl_snapshot_version_;
|
||||||
max_sync_storage_schema_version_ = max_sync_storage_schema_version;
|
max_sync_storage_schema_version_ = max_sync_storage_schema_version;
|
||||||
|
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
is_inited_ = true;
|
is_inited_ = true;
|
||||||
}
|
}
|
||||||
@ -321,7 +325,7 @@ void ObTabletMeta::reset()
|
|||||||
data_tablet_id_.reset();
|
data_tablet_id_.reset();
|
||||||
ref_tablet_id_.reset();
|
ref_tablet_id_.reset();
|
||||||
has_next_tablet_ = false;
|
has_next_tablet_ = false;
|
||||||
create_scn_ = OB_INVALID_TIMESTAMP;
|
create_scn_ = ObTabletMeta::INVALID_CREATE_SCN;
|
||||||
start_scn_ = OB_INVALID_TIMESTAMP;
|
start_scn_ = OB_INVALID_TIMESTAMP;
|
||||||
clog_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
clog_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
||||||
ddl_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
ddl_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
||||||
@ -346,7 +350,7 @@ bool ObTabletMeta::is_valid() const
|
|||||||
return ls_id_.is_valid()
|
return ls_id_.is_valid()
|
||||||
&& tablet_id_.is_valid()
|
&& tablet_id_.is_valid()
|
||||||
&& data_tablet_id_.is_valid()
|
&& data_tablet_id_.is_valid()
|
||||||
//&& create_scn_ > OB_INVALID_TIMESTAMP
|
&& create_scn_ >= INIT_CREATE_SCN
|
||||||
&& multi_version_start_ >= 0
|
&& multi_version_start_ >= 0
|
||||||
&& multi_version_start_ <= snapshot_version_
|
&& multi_version_start_ <= snapshot_version_
|
||||||
&& compat_mode_ != lib::Worker::CompatMode::INVALID
|
&& compat_mode_ != lib::Worker::CompatMode::INVALID
|
||||||
@ -694,7 +698,7 @@ ObMigrationTabletParam::ObMigrationTabletParam()
|
|||||||
tablet_id_(),
|
tablet_id_(),
|
||||||
data_tablet_id_(),
|
data_tablet_id_(),
|
||||||
ref_tablet_id_(),
|
ref_tablet_id_(),
|
||||||
create_scn_(OB_INVALID_TIMESTAMP),
|
create_scn_(ObTabletMeta::INVALID_CREATE_SCN),
|
||||||
start_scn_(OB_INVALID_TIMESTAMP),
|
start_scn_(OB_INVALID_TIMESTAMP),
|
||||||
clog_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
clog_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
||||||
ddl_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
ddl_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
||||||
@ -720,7 +724,7 @@ bool ObMigrationTabletParam::is_valid() const
|
|||||||
return ls_id_.is_valid()
|
return ls_id_.is_valid()
|
||||||
&& tablet_id_.is_valid()
|
&& tablet_id_.is_valid()
|
||||||
&& data_tablet_id_.is_valid()
|
&& data_tablet_id_.is_valid()
|
||||||
//&& create_scn_ > OB_INVALID_TIMESTAMP
|
&& create_scn_ >= ObTabletMeta::INIT_CREATE_SCN
|
||||||
&& multi_version_start_ >= 0
|
&& multi_version_start_ >= 0
|
||||||
&& multi_version_start_ <= snapshot_version_
|
&& multi_version_start_ <= snapshot_version_
|
||||||
&& compat_mode_ != lib::Worker::CompatMode::INVALID
|
&& compat_mode_ != lib::Worker::CompatMode::INVALID
|
||||||
@ -895,7 +899,7 @@ void ObMigrationTabletParam::reset()
|
|||||||
tablet_id_.reset();
|
tablet_id_.reset();
|
||||||
data_tablet_id_.reset();
|
data_tablet_id_.reset();
|
||||||
ref_tablet_id_.reset();
|
ref_tablet_id_.reset();
|
||||||
create_scn_ = OB_INVALID_TIMESTAMP;
|
create_scn_ = ObTabletMeta::INVALID_CREATE_SCN;
|
||||||
start_scn_ = OB_INVALID_TIMESTAMP;
|
start_scn_ = OB_INVALID_TIMESTAMP;
|
||||||
clog_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
clog_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
||||||
ddl_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
ddl_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
||||||
|
|||||||
@ -43,6 +43,8 @@ class ObTabletMeta final
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static const int64_t INIT_CLOG_CHECKPOINT_TS;
|
static const int64_t INIT_CLOG_CHECKPOINT_TS;
|
||||||
|
static const int64_t INVALID_CREATE_SCN;
|
||||||
|
static const int64_t INIT_CREATE_SCN;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ObTabletMeta();
|
ObTabletMeta();
|
||||||
@ -239,7 +241,7 @@ public:
|
|||||||
int64_t ddl_start_log_ts_;
|
int64_t ddl_start_log_ts_;
|
||||||
int64_t ddl_snapshot_version_;
|
int64_t ddl_snapshot_version_;
|
||||||
// max_sync_version may less than storage_schema.schema_version_ when major update schema
|
// max_sync_version may less than storage_schema.schema_version_ when major update schema
|
||||||
int64_t max_sync_storage_schema_version_;
|
int64_t max_sync_storage_schema_version_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace storage
|
} // namespace storage
|
||||||
|
|||||||
Reference in New Issue
Block a user