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));
|
||||
private:
|
||||
common::ObSArray<ObTabletAutoincInterval> intervals_;
|
||||
DISALLOW_COPY_AND_ASSIGN(ObTabletAutoincSeq);
|
||||
};
|
||||
|
||||
}//end namespace share
|
||||
|
||||
@ -2041,6 +2041,7 @@ int ObTabletGroupMetaRestoreTask::create_or_update_tablet_(
|
||||
param.ls_id_ = ctx_->arg_.ls_id_;
|
||||
param.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.compat_mode_ = lib::Worker::get_compatibility_mode();
|
||||
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_.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_.clog_checkpoint_ts_ = ObTabletMeta::INIT_CLOG_CHECKPOINT_TS;
|
||||
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.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.clog_checkpoint_ts_ = INT64_MAX;
|
||||
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.data_tablet_id_ = tablet_meta_.data_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.clog_checkpoint_ts_ = tablet_meta_.clog_checkpoint_ts_;
|
||||
mig_tablet_param.snapshot_version_ = tablet_meta_.snapshot_version_;
|
||||
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.ha_status_ = tablet_meta_.ha_status_;
|
||||
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));
|
||||
} 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));
|
||||
} 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
|
||||
{
|
||||
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()
|
||||
: version_(TABLET_META_VERSION),
|
||||
@ -34,7 +38,7 @@ ObTabletMeta::ObTabletMeta()
|
||||
data_tablet_id_(),
|
||||
ref_tablet_id_(),
|
||||
has_next_tablet_(false),
|
||||
create_scn_(OB_INVALID_TIMESTAMP),
|
||||
create_scn_(ObTabletMeta::INVALID_CREATE_SCN),
|
||||
start_scn_(OB_INVALID_TIMESTAMP),
|
||||
clog_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
||||
ddl_checkpoint_ts_(OB_INVALID_TIMESTAMP),
|
||||
@ -321,7 +325,7 @@ void ObTabletMeta::reset()
|
||||
data_tablet_id_.reset();
|
||||
ref_tablet_id_.reset();
|
||||
has_next_tablet_ = false;
|
||||
create_scn_ = OB_INVALID_TIMESTAMP;
|
||||
create_scn_ = ObTabletMeta::INVALID_CREATE_SCN;
|
||||
start_scn_ = OB_INVALID_TIMESTAMP;
|
||||
clog_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()
|
||||
&& 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_ <= snapshot_version_
|
||||
&& compat_mode_ != lib::Worker::CompatMode::INVALID
|
||||
@ -694,7 +698,7 @@ ObMigrationTabletParam::ObMigrationTabletParam()
|
||||
tablet_id_(),
|
||||
data_tablet_id_(),
|
||||
ref_tablet_id_(),
|
||||
create_scn_(OB_INVALID_TIMESTAMP),
|
||||
create_scn_(ObTabletMeta::INVALID_CREATE_SCN),
|
||||
start_scn_(OB_INVALID_TIMESTAMP),
|
||||
clog_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()
|
||||
&& 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_ <= snapshot_version_
|
||||
&& compat_mode_ != lib::Worker::CompatMode::INVALID
|
||||
@ -895,7 +899,7 @@ void ObMigrationTabletParam::reset()
|
||||
tablet_id_.reset();
|
||||
data_tablet_id_.reset();
|
||||
ref_tablet_id_.reset();
|
||||
create_scn_ = OB_INVALID_TIMESTAMP;
|
||||
create_scn_ = ObTabletMeta::INVALID_CREATE_SCN;
|
||||
start_scn_ = OB_INVALID_TIMESTAMP;
|
||||
clog_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
||||
ddl_checkpoint_ts_ = OB_INVALID_TIMESTAMP;
|
||||
|
||||
@ -43,6 +43,8 @@ class ObTabletMeta final
|
||||
{
|
||||
public:
|
||||
static const int64_t INIT_CLOG_CHECKPOINT_TS;
|
||||
static const int64_t INVALID_CREATE_SCN;
|
||||
static const int64_t INIT_CREATE_SCN;
|
||||
|
||||
public:
|
||||
ObTabletMeta();
|
||||
|
||||
Reference in New Issue
Block a user