fix generating same macro data seq in differnt macro block when drop column in parallel.
This commit is contained in:
		@ -548,7 +548,7 @@ int ObDDLUtil::generate_build_replica_sql(
 | 
			
		||||
    ObArray<int64_t> order_column_ids;
 | 
			
		||||
    bool is_shadow_column = false;
 | 
			
		||||
    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
 | 
			
		||||
    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,
 | 
			
		||||
 | 
			
		||||
@ -175,7 +175,7 @@ int ObComplementDataParam::split_task_ranges(
 | 
			
		||||
      LOG_WARN("compute total task count failed", K(ret));
 | 
			
		||||
    } else if (OB_FAIL(tablet_service->split_multi_ranges(tablet_id, 
 | 
			
		||||
                                                          ranges, 
 | 
			
		||||
                                                          min(max(expected_task_count, 1), hint_parallelism),
 | 
			
		||||
                                                          min(min(max(expected_task_count, 1), hint_parallelism), ObMacroDataSeq::MAX_PARALLEL_IDX + 1),
 | 
			
		||||
                                                          allocator_, 
 | 
			
		||||
                                                          multi_range_split_array))) {
 | 
			
		||||
      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_)) {
 | 
			
		||||
      ret = OB_INVALID_ARGUMENT;
 | 
			
		||||
      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 {
 | 
			
		||||
      ObSchemaGetterGuard schema_guard;
 | 
			
		||||
      const ObTableSchema *hidden_table_schema = nullptr;
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user