fix generating same macro data seq in differnt macro block when drop column in parallel.

This commit is contained in:
obdev
2023-04-13 08:58:20 +00:00
committed by ob-robot
parent 31ffb12df1
commit 89be1d878e
2 changed files with 4 additions and 2 deletions

View File

@ -548,7 +548,7 @@ int ObDDLUtil::generate_build_replica_sql(
ObArray<int64_t> order_column_ids; ObArray<int64_t> order_column_ids;
bool is_shadow_column = false; bool is_shadow_column = false;
int64_t real_parallelism = std::max(1L, parallelism); int64_t real_parallelism = std::max(1L, parallelism);
real_parallelism = std::min(64L, real_parallelism); real_parallelism = std::min(ObMacroDataSeq::MAX_PARALLEL_IDX + 1, real_parallelism);
// get dest table column names // get dest table column names
if (dest_table_schema->is_spatial_index()) { if (dest_table_schema->is_spatial_index()) {
if (OB_FAIL(ObDDLUtil::generate_spatial_index_column_names(*dest_table_schema, *source_table_schema, insert_column_names, if (OB_FAIL(ObDDLUtil::generate_spatial_index_column_names(*dest_table_schema, *source_table_schema, insert_column_names,

View File

@ -175,7 +175,7 @@ int ObComplementDataParam::split_task_ranges(
LOG_WARN("compute total task count failed", K(ret)); LOG_WARN("compute total task count failed", K(ret));
} else if (OB_FAIL(tablet_service->split_multi_ranges(tablet_id, } else if (OB_FAIL(tablet_service->split_multi_ranges(tablet_id,
ranges, ranges,
min(max(expected_task_count, 1), hint_parallelism), min(min(max(expected_task_count, 1), hint_parallelism), ObMacroDataSeq::MAX_PARALLEL_IDX + 1),
allocator_, allocator_,
multi_range_split_array))) { multi_range_split_array))) {
LOG_WARN("split multi ranges failed", K(ret)); LOG_WARN("split multi ranges failed", K(ret));
@ -998,6 +998,8 @@ int ObComplementWriteTask::append_row(ObLocalScan &local_scan)
} else if (OB_ISNULL(param_) || OB_UNLIKELY(!param_->is_valid()) || OB_ISNULL(context_)) { } else if (OB_ISNULL(param_) || OB_UNLIKELY(!param_->is_valid()) || OB_ISNULL(context_)) {
ret = OB_INVALID_ARGUMENT; ret = OB_INVALID_ARGUMENT;
LOG_WARN("invalid arguments", K(param_), KP(context_), K(ret)); LOG_WARN("invalid arguments", K(param_), KP(context_), K(ret));
} else if (OB_FAIL(macro_start_seq.set_parallel_degree(task_id_))) {
LOG_WARN("set parallel degree failed", K(ret), K(task_id_));
} else { } else {
ObSchemaGetterGuard schema_guard; ObSchemaGetterGuard schema_guard;
const ObTableSchema *hidden_table_schema = nullptr; const ObTableSchema *hidden_table_schema = nullptr;