@@ -228,9 +228,8 @@ Status PipelineXFragmentContext::prepare(const doris::TPipelineFragmentParams& r
228228 _query_ctx->init_runtime_predicates ({0 });
229229 }
230230
231- _need_local_merge =
232- request.__isset .parallel_instances &&
233- (request.__isset .per_node_shared_scans && !request.per_node_shared_scans .empty ());
231+ _need_local_merge = request.__isset .parallel_instances ;
232+
234233 // 2. Build pipelines with operators in this fragment.
235234 auto root_pipeline = add_pipeline ();
236235 RETURN_IF_ERROR_OR_CATCH_EXCEPTION (_build_pipelines (
@@ -934,14 +933,13 @@ Status PipelineXFragmentContext::_create_operator(ObjectPool* pool, const TPlanN
934933 // Therefore, here we need to use a stack-like structure.
935934 _pipeline_parent_map.pop (cur_pipe, parent_idx, child_idx);
936935 std::stringstream error_msg;
936+
937937 switch (tnode.node_type ) {
938938 case TPlanNodeType::OLAP_SCAN_NODE : {
939939 op.reset (new OlapScanOperatorX (pool, tnode, next_operator_id (), descs, _num_instances));
940940 RETURN_IF_ERROR (cur_pipe->add_operator (op));
941- if (find_with_default (request.per_node_shared_scans , op->node_id (), false )) {
942- if (request.__isset .parallel_instances ) {
943- cur_pipe->set_num_tasks (request.parallel_instances );
944- }
941+ if (request.__isset .parallel_instances ) {
942+ cur_pipe->set_num_tasks (request.parallel_instances );
945943 op->set_ignore_data_distribution ();
946944 }
947945 break ;
@@ -955,21 +953,17 @@ Status PipelineXFragmentContext::_create_operator(ObjectPool* pool, const TPlanN
955953 " Jdbc scan node is disabled, you can change be config enable_java_support "
956954 " to true and restart be." );
957955 }
958- if (find_with_default (request.per_node_shared_scans , op->node_id (), false )) {
959- if (request.__isset .parallel_instances ) {
960- cur_pipe->set_num_tasks (request.parallel_instances );
961- }
956+ if (request.__isset .parallel_instances ) {
957+ cur_pipe->set_num_tasks (request.parallel_instances );
962958 op->set_ignore_data_distribution ();
963959 }
964960 break ;
965961 }
966962 case doris::TPlanNodeType::FILE_SCAN_NODE : {
967963 op.reset (new FileScanOperatorX (pool, tnode, next_operator_id (), descs, _num_instances));
968964 RETURN_IF_ERROR (cur_pipe->add_operator (op));
969- if (find_with_default (request.per_node_shared_scans , op->node_id (), false )) {
970- if (request.__isset .parallel_instances ) {
971- cur_pipe->set_num_tasks (request.parallel_instances );
972- }
965+ if (request.__isset .parallel_instances ) {
966+ cur_pipe->set_num_tasks (request.parallel_instances );
973967 op->set_ignore_data_distribution ();
974968 }
975969 break ;
@@ -978,10 +972,8 @@ Status PipelineXFragmentContext::_create_operator(ObjectPool* pool, const TPlanN
978972 case TPlanNodeType::ES_HTTP_SCAN_NODE : {
979973 op.reset (new EsScanOperatorX (pool, tnode, next_operator_id (), descs, _num_instances));
980974 RETURN_IF_ERROR (cur_pipe->add_operator (op));
981- if (find_with_default (request.per_node_shared_scans , op->node_id (), false )) {
982- if (request.__isset .parallel_instances ) {
983- cur_pipe->set_num_tasks (request.parallel_instances );
984- }
975+ if (request.__isset .parallel_instances ) {
976+ cur_pipe->set_num_tasks (request.parallel_instances );
985977 op->set_ignore_data_distribution ();
986978 }
987979 break ;
0 commit comments