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
|
||||||
|
|||||||
@ -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),
|
||||||
@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user