replace ddl cluster version with data format version

This commit is contained in:
simonjoylet
2023-02-24 12:52:55 +00:00
committed by ob-robot
parent 28b78becb7
commit 000331908d
32 changed files with 167 additions and 158 deletions

View File

@ -43,6 +43,7 @@ int ObColumnRedefinitionTask::init(const uint64_t tenant_id, const int64_t task_
const obrpc::ObAlterTableArg &alter_table_arg, const int64_t task_status, const int64_t snapshot_version)
{
int ret = OB_SUCCESS;
uint64_t tenant_data_format_version = 0;
if (OB_UNLIKELY(is_inited_)) {
ret = OB_INIT_TWICE;
LOG_WARN("ObColumnRedefinitionTask has already been inited", K(ret));
@ -55,6 +56,8 @@ int ObColumnRedefinitionTask::init(const uint64_t tenant_id, const int64_t task_
LOG_WARN("deep copy alter table arg failed", K(ret));
} else if (OB_FAIL(set_ddl_stmt_str(alter_table_arg_.ddl_stmt_str_))) {
LOG_WARN("set ddl stmt str failed", K(ret));
} else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, tenant_data_format_version))) {
LOG_WARN("get min data version failed", K(ret), K(tenant_id));
} else {
task_type_ = ddl_type;
object_id_ = data_table_id;
@ -71,7 +74,7 @@ int ObColumnRedefinitionTask::init(const uint64_t tenant_id, const int64_t task_
if (OB_FAIL(init_ddl_task_monitor_info(&alter_table_arg_.alter_table_schema_))) {
LOG_WARN("init ddl task monitor info failed", K(ret));
} else {
cluster_version_ = GET_MIN_CLUSTER_VERSION();
data_format_version_ = tenant_data_format_version;
is_inited_ = true;
ddl_tracing_.open();
}
@ -183,7 +186,7 @@ int ObColumnRedefinitionTask::send_build_single_replica_request()
param.task_id_ = task_id_;
param.parallelism_ = alter_table_arg_.parallelism_;
param.execution_id_ = execution_id_;
param.cluster_version_ = cluster_version_;
param.data_format_version_ = data_format_version_;
if (OB_FAIL(ObDDLUtil::get_tablets(tenant_id_, object_id_, param.source_tablet_ids_))) {
LOG_WARN("fail to get tablets", K(ret), K(tenant_id_), K(object_id_));
} else if (OB_FAIL(ObDDLUtil::get_tablets(tenant_id_, target_object_id_, param.dest_tablet_ids_))) {
@ -483,7 +486,7 @@ int ObColumnRedefinitionTask::serialize_params_to_message(char *buf, const int64
} else if (OB_FAIL(alter_table_arg_.serialize(buf, buf_len, pos))) {
LOG_WARN("serialize table arg failed", K(ret));
} else {
LST_DO_CODE(OB_UNIS_ENCODE, parallelism_, cluster_version_);
LST_DO_CODE(OB_UNIS_ENCODE, parallelism_, data_format_version_);
}
return ret;
}
@ -502,7 +505,7 @@ int ObColumnRedefinitionTask::deserlize_params_from_message(const char *buf, con
} else if (OB_FAIL(deep_copy_table_arg(allocator_, tmp_arg, alter_table_arg_))) {
LOG_WARN("deep copy table arg failed", K(ret));
} else {
LST_DO_CODE(OB_UNIS_DECODE, parallelism_, cluster_version_);
LST_DO_CODE(OB_UNIS_DECODE, parallelism_, data_format_version_);
}
return ret;
}
@ -512,7 +515,7 @@ int64_t ObColumnRedefinitionTask::get_serialize_param_size() const
return alter_table_arg_.get_serialize_size()
+ serialization::encoded_length_i64(task_version_)
+ serialization::encoded_length_i64(parallelism_)
+ serialization::encoded_length_i64(cluster_version_);
+ serialization::encoded_length_i64(data_format_version_);
}
int ObColumnRedefinitionTask::copy_table_dependent_objects(const ObDDLTaskStatus next_task_status)