Coverage Report

Created: 2026-03-12 15:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exec/operator/operator.cpp
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#include "exec/operator/operator.h"
19
20
#include "common/status.h"
21
#include "exec/common/util.hpp"
22
#include "exec/exchange/local_exchange_sink_operator.h"
23
#include "exec/exchange/local_exchange_source_operator.h"
24
#include "exec/operator/aggregation_sink_operator.h"
25
#include "exec/operator/aggregation_source_operator.h"
26
#include "exec/operator/analytic_sink_operator.h"
27
#include "exec/operator/analytic_source_operator.h"
28
#include "exec/operator/assert_num_rows_operator.h"
29
#include "exec/operator/blackhole_sink_operator.h"
30
#include "exec/operator/cache_sink_operator.h"
31
#include "exec/operator/cache_source_operator.h"
32
#include "exec/operator/datagen_operator.h"
33
#include "exec/operator/dict_sink_operator.h"
34
#include "exec/operator/distinct_streaming_aggregation_operator.h"
35
#include "exec/operator/empty_set_operator.h"
36
#include "exec/operator/es_scan_operator.h"
37
#include "exec/operator/exchange_sink_operator.h"
38
#include "exec/operator/exchange_source_operator.h"
39
#include "exec/operator/file_scan_operator.h"
40
#include "exec/operator/group_commit_block_sink_operator.h"
41
#include "exec/operator/group_commit_scan_operator.h"
42
#include "exec/operator/hashjoin_build_sink.h"
43
#include "exec/operator/hashjoin_probe_operator.h"
44
#include "exec/operator/hive_table_sink_operator.h"
45
#include "exec/operator/iceberg_table_sink_operator.h"
46
#include "exec/operator/jdbc_scan_operator.h"
47
#include "exec/operator/jdbc_table_sink_operator.h"
48
#include "exec/operator/local_merge_sort_source_operator.h"
49
#include "exec/operator/materialization_opertor.h"
50
#include "exec/operator/maxcompute_table_sink_operator.h"
51
#include "exec/operator/memory_scratch_sink_operator.h"
52
#include "exec/operator/meta_scan_operator.h"
53
#include "exec/operator/mock_operator.h"
54
#include "exec/operator/mock_scan_operator.h"
55
#include "exec/operator/multi_cast_data_stream_sink.h"
56
#include "exec/operator/multi_cast_data_stream_source.h"
57
#include "exec/operator/nested_loop_join_build_operator.h"
58
#include "exec/operator/nested_loop_join_probe_operator.h"
59
#include "exec/operator/olap_scan_operator.h"
60
#include "exec/operator/olap_table_sink_operator.h"
61
#include "exec/operator/olap_table_sink_v2_operator.h"
62
#include "exec/operator/partition_sort_sink_operator.h"
63
#include "exec/operator/partition_sort_source_operator.h"
64
#include "exec/operator/partitioned_aggregation_sink_operator.h"
65
#include "exec/operator/partitioned_aggregation_source_operator.h"
66
#include "exec/operator/partitioned_hash_join_probe_operator.h"
67
#include "exec/operator/partitioned_hash_join_sink_operator.h"
68
#include "exec/operator/rec_cte_anchor_sink_operator.h"
69
#include "exec/operator/rec_cte_scan_operator.h"
70
#include "exec/operator/rec_cte_sink_operator.h"
71
#include "exec/operator/rec_cte_source_operator.h"
72
#include "exec/operator/repeat_operator.h"
73
#include "exec/operator/result_file_sink_operator.h"
74
#include "exec/operator/result_sink_operator.h"
75
#include "exec/operator/schema_scan_operator.h"
76
#include "exec/operator/select_operator.h"
77
#include "exec/operator/set_probe_sink_operator.h"
78
#include "exec/operator/set_sink_operator.h"
79
#include "exec/operator/set_source_operator.h"
80
#include "exec/operator/sort_sink_operator.h"
81
#include "exec/operator/sort_source_operator.h"
82
#include "exec/operator/spill_iceberg_table_sink_operator.h"
83
#include "exec/operator/spill_sort_sink_operator.h"
84
#include "exec/operator/spill_sort_source_operator.h"
85
#include "exec/operator/streaming_aggregation_operator.h"
86
#include "exec/operator/table_function_operator.h"
87
#include "exec/operator/tvf_table_sink_operator.h"
88
#include "exec/operator/union_sink_operator.h"
89
#include "exec/operator/union_source_operator.h"
90
#include "exec/pipeline/dependency.h"
91
#include "exec/pipeline/pipeline.h"
92
#include "exprs/vexpr.h"
93
#include "exprs/vexpr_context.h"
94
#include "runtime/runtime_profile.h"
95
#include "util/debug_util.h"
96
#include "util/string_util.h"
97
98
namespace doris {
99
#include "common/compile_check_begin.h"
100
class RowDescriptor;
101
class RuntimeState;
102
} // namespace doris
103
104
namespace doris {
105
106
0
Status OperatorBase::close(RuntimeState* state) {
107
0
    if (_is_closed) {
108
0
        return Status::OK();
109
0
    }
110
0
    _is_closed = true;
111
0
    return Status::OK();
112
0
}
113
114
template <typename SharedStateArg>
115
2.59M
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
2.59M
    if (_parent->nereids_id() == -1) {
117
1.38M
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
1.38M
    } else {
119
1.21M
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
1.21M
                           std::to_string(_parent->nereids_id()),
121
1.21M
                           std::to_string(_parent->node_id()));
122
1.21M
    }
123
2.59M
}
_ZNK5doris19PipelineXLocalStateINS_19HashJoinSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
136k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
136k
    if (_parent->nereids_id() == -1) {
117
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
136k
    } else {
119
136k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
136k
                           std::to_string(_parent->nereids_id()),
121
136k
                           std::to_string(_parent->node_id()));
122
136k
    }
123
136k
}
_ZNK5doris19PipelineXLocalStateINS_30PartitionedHashJoinSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
1
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
1
    if (_parent->nereids_id() == -1) {
117
1
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
1
    } else {
119
0
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
0
                           std::to_string(_parent->nereids_id()),
121
0
                           std::to_string(_parent->node_id()));
122
0
    }
123
1
}
_ZNK5doris19PipelineXLocalStateINS_15SortSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
241k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
241k
    if (_parent->nereids_id() == -1) {
117
12
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
241k
    } else {
119
241k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
241k
                           std::to_string(_parent->nereids_id()),
121
241k
                           std::to_string(_parent->node_id()));
122
241k
    }
123
241k
}
_ZNK5doris19PipelineXLocalStateINS_20SpillSortSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
16
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
16
    if (_parent->nereids_id() == -1) {
117
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
16
    } else {
119
16
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
16
                           std::to_string(_parent->nereids_id()),
121
16
                           std::to_string(_parent->node_id()));
122
16
    }
123
16
}
_ZNK5doris19PipelineXLocalStateINS_25NestedLoopJoinSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
7.56k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
7.56k
    if (_parent->nereids_id() == -1) {
117
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
7.56k
    } else {
119
7.56k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
7.56k
                           std::to_string(_parent->nereids_id()),
121
7.56k
                           std::to_string(_parent->node_id()));
122
7.56k
    }
123
7.56k
}
_ZNK5doris19PipelineXLocalStateINS_19AnalyticSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
8.96k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
8.96k
    if (_parent->nereids_id() == -1) {
117
9
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
8.96k
    } else {
119
8.96k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
8.96k
                           std::to_string(_parent->nereids_id()),
121
8.96k
                           std::to_string(_parent->node_id()));
122
8.96k
    }
123
8.96k
}
_ZNK5doris19PipelineXLocalStateINS_14AggSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
134k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
134k
    if (_parent->nereids_id() == -1) {
117
27
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
134k
    } else {
119
134k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
134k
                           std::to_string(_parent->nereids_id()),
121
134k
                           std::to_string(_parent->node_id()));
122
134k
    }
123
134k
}
_ZNK5doris19PipelineXLocalStateINS_25PartitionedAggSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
359
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
359
    if (_parent->nereids_id() == -1) {
117
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
359
    } else {
119
359
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
359
                           std::to_string(_parent->nereids_id()),
121
359
                           std::to_string(_parent->node_id()));
122
359
    }
123
359
}
_ZNK5doris19PipelineXLocalStateINS_15FakeSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
1.12M
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
1.12M
    if (_parent->nereids_id() == -1) {
117
492k
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
635k
    } else {
119
635k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
635k
                           std::to_string(_parent->nereids_id()),
121
635k
                           std::to_string(_parent->node_id()));
122
635k
    }
123
1.12M
}
_ZNK5doris19PipelineXLocalStateINS_16UnionSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
41.7k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
41.7k
    if (_parent->nereids_id() == -1) {
117
2
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
41.7k
    } else {
119
41.7k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
41.7k
                           std::to_string(_parent->nereids_id()),
121
41.7k
                           std::to_string(_parent->node_id()));
122
41.7k
    }
123
41.7k
}
_ZNK5doris19PipelineXLocalStateINS_20DataQueueSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
369
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
369
    if (_parent->nereids_id() == -1) {
117
368
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
368
    } else {
119
1
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
1
                           std::to_string(_parent->nereids_id()),
121
1
                           std::to_string(_parent->node_id()));
122
1
    }
123
369
}
_ZNK5doris19PipelineXLocalStateINS_20MultiCastSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
8.89k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
8.89k
    if (_parent->nereids_id() == -1) {
117
8.89k
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
8.89k
    } else {
119
5
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
5
                           std::to_string(_parent->nereids_id()),
121
5
                           std::to_string(_parent->node_id()));
122
5
    }
123
8.89k
}
_ZNK5doris19PipelineXLocalStateINS_28PartitionSortNodeSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
484
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
484
    if (_parent->nereids_id() == -1) {
117
102
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
382
    } else {
119
382
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
382
                           std::to_string(_parent->nereids_id()),
121
382
                           std::to_string(_parent->node_id()));
122
382
    }
123
484
}
_ZNK5doris19PipelineXLocalStateINS_14SetSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
4.77k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
4.77k
    if (_parent->nereids_id() == -1) {
117
10
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
4.76k
    } else {
119
4.76k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
4.76k
                           std::to_string(_parent->nereids_id()),
121
4.76k
                           std::to_string(_parent->node_id()));
122
4.76k
    }
123
4.77k
}
_ZNK5doris19PipelineXLocalStateINS_24LocalExchangeSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
882k
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
883k
    if (_parent->nereids_id() == -1) {
117
883k
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
18.4E
    } else {
119
18.4E
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
18.4E
                           std::to_string(_parent->nereids_id()),
121
18.4E
                           std::to_string(_parent->node_id()));
122
18.4E
    }
123
882k
}
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_16BasicSharedStateEE11name_suffixB5cxx11Ev
_ZNK5doris19PipelineXLocalStateINS_17RecCTESharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
115
150
std::string PipelineXLocalState<SharedStateArg>::name_suffix() const {
116
150
    if (_parent->nereids_id() == -1) {
117
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
118
150
    } else {
119
150
        return fmt::format("(nereids_id={})" + operator_name_suffix,
120
150
                           std::to_string(_parent->nereids_id()),
121
150
                           std::to_string(_parent->node_id()));
122
150
    }
123
150
}
124
125
template <typename SharedStateArg>
126
1.53M
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
1.53M
    if (_parent->nereids_id() == -1) {
128
946k
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
946k
    } else {
130
589k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
589k
                           std::to_string(_parent->nereids_id()),
132
589k
                           std::to_string(_parent->node_id()));
133
589k
    }
134
1.53M
}
_ZN5doris23PipelineXSinkLocalStateINS_19HashJoinSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
185k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
185k
    if (_parent->nereids_id() == -1) {
128
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
185k
    } else {
130
185k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
185k
                           std::to_string(_parent->nereids_id()),
132
185k
                           std::to_string(_parent->node_id()));
133
185k
    }
134
185k
}
_ZN5doris23PipelineXSinkLocalStateINS_30PartitionedHashJoinSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
2
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
2
    if (_parent->nereids_id() == -1) {
128
1
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
1
    } else {
130
1
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
1
                           std::to_string(_parent->nereids_id()),
132
1
                           std::to_string(_parent->node_id()));
133
1
    }
134
2
}
_ZN5doris23PipelineXSinkLocalStateINS_15SortSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
243k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
243k
    if (_parent->nereids_id() == -1) {
128
9
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
243k
    } else {
130
243k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
243k
                           std::to_string(_parent->nereids_id()),
132
243k
                           std::to_string(_parent->node_id()));
133
243k
    }
134
243k
}
_ZN5doris23PipelineXSinkLocalStateINS_20SpillSortSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
19
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
19
    if (_parent->nereids_id() == -1) {
128
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
19
    } else {
130
19
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
19
                           std::to_string(_parent->nereids_id()),
132
19
                           std::to_string(_parent->node_id()));
133
19
    }
134
19
}
_ZN5doris23PipelineXSinkLocalStateINS_25NestedLoopJoinSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
7.61k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
7.61k
    if (_parent->nereids_id() == -1) {
128
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
7.61k
    } else {
130
7.61k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
7.61k
                           std::to_string(_parent->nereids_id()),
132
7.61k
                           std::to_string(_parent->node_id()));
133
7.61k
    }
134
7.61k
}
_ZN5doris23PipelineXSinkLocalStateINS_19AnalyticSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
9.06k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
9.06k
    if (_parent->nereids_id() == -1) {
128
9
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
9.05k
    } else {
130
9.05k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
9.05k
                           std::to_string(_parent->nereids_id()),
132
9.05k
                           std::to_string(_parent->node_id()));
133
9.05k
    }
134
9.06k
}
_ZN5doris23PipelineXSinkLocalStateINS_14AggSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
135k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
135k
    if (_parent->nereids_id() == -1) {
128
27
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
135k
    } else {
130
135k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
135k
                           std::to_string(_parent->nereids_id()),
132
135k
                           std::to_string(_parent->node_id()));
133
135k
    }
134
135k
}
_ZN5doris23PipelineXSinkLocalStateINS_25PartitionedAggSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
365
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
365
    if (_parent->nereids_id() == -1) {
128
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
365
    } else {
130
365
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
365
                           std::to_string(_parent->nereids_id()),
132
365
                           std::to_string(_parent->node_id()));
133
365
    }
134
365
}
_ZN5doris23PipelineXSinkLocalStateINS_15FakeSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
52
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
52
    if (_parent->nereids_id() == -1) {
128
52
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
52
    } else {
130
0
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
0
                           std::to_string(_parent->nereids_id()),
132
0
                           std::to_string(_parent->node_id()));
133
0
    }
134
52
}
_ZN5doris23PipelineXSinkLocalStateINS_16UnionSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
8.06k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
8.06k
    if (_parent->nereids_id() == -1) {
128
3
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
8.06k
    } else {
130
8.06k
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
8.06k
                           std::to_string(_parent->nereids_id()),
132
8.06k
                           std::to_string(_parent->node_id()));
133
8.06k
    }
134
8.06k
}
_ZN5doris23PipelineXSinkLocalStateINS_28PartitionSortNodeSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
484
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
484
    if (_parent->nereids_id() == -1) {
128
102
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
382
    } else {
130
382
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
382
                           std::to_string(_parent->nereids_id()),
132
382
                           std::to_string(_parent->node_id()));
133
382
    }
134
484
}
Unexecuted instantiation: _ZN5doris23PipelineXSinkLocalStateINS_20MultiCastSharedStateEE11name_suffixB5cxx11Ev
_ZN5doris23PipelineXSinkLocalStateINS_14SetSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
12.0k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
12.0k
    if (_parent->nereids_id() == -1) {
128
12.0k
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
18.4E
    } else {
130
18.4E
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
18.4E
                           std::to_string(_parent->nereids_id()),
132
18.4E
                           std::to_string(_parent->node_id()));
133
18.4E
    }
134
12.0k
}
_ZN5doris23PipelineXSinkLocalStateINS_24LocalExchangeSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
407k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
407k
    if (_parent->nereids_id() == -1) {
128
407k
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
18.4E
    } else {
130
18.4E
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
18.4E
                           std::to_string(_parent->nereids_id()),
132
18.4E
                           std::to_string(_parent->node_id()));
133
18.4E
    }
134
407k
}
_ZN5doris23PipelineXSinkLocalStateINS_16BasicSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
526k
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
526k
    if (_parent->nereids_id() == -1) {
128
526k
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
18.4E
    } else {
130
18.4E
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
18.4E
                           std::to_string(_parent->nereids_id()),
132
18.4E
                           std::to_string(_parent->node_id()));
133
18.4E
    }
134
526k
}
_ZN5doris23PipelineXSinkLocalStateINS_20DataQueueSharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
369
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
369
    if (_parent->nereids_id() == -1) {
128
369
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
369
    } else {
130
0
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
0
                           std::to_string(_parent->nereids_id()),
132
0
                           std::to_string(_parent->node_id()));
133
0
    }
134
369
}
_ZN5doris23PipelineXSinkLocalStateINS_17RecCTESharedStateEE11name_suffixB5cxx11Ev
Line
Count
Source
126
300
std::string PipelineXSinkLocalState<SharedStateArg>::name_suffix() {
127
300
    if (_parent->nereids_id() == -1) {
128
0
        return fmt::format(operator_name_suffix, std::to_string(_parent->node_id()));
129
300
    } else {
130
300
        return fmt::format("(nereids_id={})" + operator_name_suffix,
131
300
                           std::to_string(_parent->nereids_id()),
132
300
                           std::to_string(_parent->node_id()));
133
300
    }
134
300
}
135
136
template <typename SharedStateArg>
137
30.6k
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
30.6k
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
30.6k
    _terminated = true;
142
30.6k
    return Status::OK();
143
30.6k
}
_ZN5doris23PipelineXSinkLocalStateINS_19HashJoinSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
24.0k
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
24.0k
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
24.0k
    _terminated = true;
142
24.0k
    return Status::OK();
143
24.0k
}
Unexecuted instantiation: _ZN5doris23PipelineXSinkLocalStateINS_30PartitionedHashJoinSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris23PipelineXSinkLocalStateINS_15SortSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
756
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
756
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
756
    _terminated = true;
142
756
    return Status::OK();
143
756
}
_ZN5doris23PipelineXSinkLocalStateINS_20SpillSortSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
2
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
2
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
2
    _terminated = true;
142
2
    return Status::OK();
143
2
}
_ZN5doris23PipelineXSinkLocalStateINS_25NestedLoopJoinSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
6
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
6
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
6
    _terminated = true;
142
6
    return Status::OK();
143
6
}
_ZN5doris23PipelineXSinkLocalStateINS_19AnalyticSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
3
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
3
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
3
    _terminated = true;
142
3
    return Status::OK();
143
3
}
_ZN5doris23PipelineXSinkLocalStateINS_14AggSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
3.01k
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
3.01k
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
3.01k
    _terminated = true;
142
3.01k
    return Status::OK();
143
3.01k
}
Unexecuted instantiation: _ZN5doris23PipelineXSinkLocalStateINS_25PartitionedAggSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris23PipelineXSinkLocalStateINS_15FakeSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
2.38k
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
2.38k
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
2.38k
    _terminated = true;
142
2.38k
    return Status::OK();
143
2.38k
}
_ZN5doris23PipelineXSinkLocalStateINS_16UnionSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
5
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
5
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
5
    _terminated = true;
142
5
    return Status::OK();
143
5
}
Unexecuted instantiation: _ZN5doris23PipelineXSinkLocalStateINS_28PartitionSortNodeSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris23PipelineXSinkLocalStateINS_20MultiCastSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
59
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
59
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
59
    _terminated = true;
142
59
    return Status::OK();
143
59
}
_ZN5doris23PipelineXSinkLocalStateINS_14SetSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
1
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
1
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
1
    _terminated = true;
142
1
    return Status::OK();
143
1
}
_ZN5doris23PipelineXSinkLocalStateINS_24LocalExchangeSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
225
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
225
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
225
    _terminated = true;
142
225
    return Status::OK();
143
225
}
Unexecuted instantiation: _ZN5doris23PipelineXSinkLocalStateINS_16BasicSharedStateEE9terminateEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris23PipelineXSinkLocalStateINS_20DataQueueSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris23PipelineXSinkLocalStateINS_17RecCTESharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
137
136
Status PipelineXSinkLocalState<SharedStateArg>::terminate(RuntimeState* state) {
138
136
    if (_terminated) {
139
0
        return Status::OK();
140
0
    }
141
136
    _terminated = true;
142
136
    return Status::OK();
143
136
}
144
145
704k
DataDistribution OperatorBase::required_data_distribution(RuntimeState* /*state*/) const {
146
704k
    return _child && _child->is_serial_operator() && !is_source()
147
704k
                   ? DataDistribution(ExchangeType::PASSTHROUGH)
148
704k
                   : DataDistribution(ExchangeType::NOOP);
149
704k
}
150
151
79.5k
const RowDescriptor& OperatorBase::row_desc() const {
152
79.5k
    return _child->row_desc();
153
79.5k
}
154
155
template <typename SharedStateArg>
156
55.8k
std::string PipelineXLocalState<SharedStateArg>::debug_string(int indentation_level) const {
157
55.8k
    fmt::memory_buffer debug_string_buffer;
158
55.8k
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
159
55.8k
    return fmt::to_string(debug_string_buffer);
160
55.8k
}
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_19HashJoinSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris19PipelineXLocalStateINS_30PartitionedHashJoinSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
156
3
std::string PipelineXLocalState<SharedStateArg>::debug_string(int indentation_level) const {
157
3
    fmt::memory_buffer debug_string_buffer;
158
3
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
159
3
    return fmt::to_string(debug_string_buffer);
160
3
}
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_15SortSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_20SpillSortSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris19PipelineXLocalStateINS_25NestedLoopJoinSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
156
15
std::string PipelineXLocalState<SharedStateArg>::debug_string(int indentation_level) const {
157
15
    fmt::memory_buffer debug_string_buffer;
158
15
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
159
15
    return fmt::to_string(debug_string_buffer);
160
15
}
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_19AnalyticSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris19PipelineXLocalStateINS_14AggSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
156
31
std::string PipelineXLocalState<SharedStateArg>::debug_string(int indentation_level) const {
157
31
    fmt::memory_buffer debug_string_buffer;
158
31
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
159
31
    return fmt::to_string(debug_string_buffer);
160
31
}
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_25PartitionedAggSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris19PipelineXLocalStateINS_15FakeSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
156
55.1k
std::string PipelineXLocalState<SharedStateArg>::debug_string(int indentation_level) const {
157
55.1k
    fmt::memory_buffer debug_string_buffer;
158
55.1k
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
159
55.1k
    return fmt::to_string(debug_string_buffer);
160
55.1k
}
_ZNK5doris19PipelineXLocalStateINS_16UnionSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
156
1
std::string PipelineXLocalState<SharedStateArg>::debug_string(int indentation_level) const {
157
1
    fmt::memory_buffer debug_string_buffer;
158
1
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
159
1
    return fmt::to_string(debug_string_buffer);
160
1
}
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_20DataQueueSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_20MultiCastSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_28PartitionSortNodeSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_14SetSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris19PipelineXLocalStateINS_24LocalExchangeSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
156
588
std::string PipelineXLocalState<SharedStateArg>::debug_string(int indentation_level) const {
157
588
    fmt::memory_buffer debug_string_buffer;
158
588
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
159
588
    return fmt::to_string(debug_string_buffer);
160
588
}
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_16BasicSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris19PipelineXLocalStateINS_17RecCTESharedStateEE12debug_stringB5cxx11Ei
161
162
template <typename SharedStateArg>
163
55.7k
std::string PipelineXSinkLocalState<SharedStateArg>::debug_string(int indentation_level) const {
164
55.7k
    fmt::memory_buffer debug_string_buffer;
165
55.7k
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
166
55.7k
    return fmt::to_string(debug_string_buffer);
167
55.7k
}
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_19HashJoinSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_30PartitionedHashJoinSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_15SortSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_20SpillSortSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_25NestedLoopJoinSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_19AnalyticSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris23PipelineXSinkLocalStateINS_14AggSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
163
30
std::string PipelineXSinkLocalState<SharedStateArg>::debug_string(int indentation_level) const {
164
30
    fmt::memory_buffer debug_string_buffer;
165
30
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
166
30
    return fmt::to_string(debug_string_buffer);
167
30
}
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_25PartitionedAggSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris23PipelineXSinkLocalStateINS_15FakeSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
163
603
std::string PipelineXSinkLocalState<SharedStateArg>::debug_string(int indentation_level) const {
164
603
    fmt::memory_buffer debug_string_buffer;
165
603
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
166
603
    return fmt::to_string(debug_string_buffer);
167
603
}
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_16UnionSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_28PartitionSortNodeSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_20MultiCastSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_14SetSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_24LocalExchangeSharedStateEE12debug_stringB5cxx11Ei
_ZNK5doris23PipelineXSinkLocalStateINS_16BasicSharedStateEE12debug_stringB5cxx11Ei
Line
Count
Source
163
55.1k
std::string PipelineXSinkLocalState<SharedStateArg>::debug_string(int indentation_level) const {
164
55.1k
    fmt::memory_buffer debug_string_buffer;
165
55.1k
    fmt::format_to(debug_string_buffer, "{}", _parent->debug_string(indentation_level));
166
55.1k
    return fmt::to_string(debug_string_buffer);
167
55.1k
}
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_20DataQueueSharedStateEE12debug_stringB5cxx11Ei
Unexecuted instantiation: _ZNK5doris23PipelineXSinkLocalStateINS_17RecCTESharedStateEE12debug_stringB5cxx11Ei
168
169
56.1k
std::string OperatorXBase::debug_string(int indentation_level) const {
170
56.1k
    fmt::memory_buffer debug_string_buffer;
171
56.1k
    fmt::format_to(debug_string_buffer, "{}{}: id={}, parallel_tasks={}, _is_serial_operator={}",
172
56.1k
                   std::string(indentation_level * 2, ' '), _op_name, node_id(), _parallel_tasks,
173
56.1k
                   _is_serial_operator);
174
56.1k
    return fmt::to_string(debug_string_buffer);
175
56.1k
}
176
177
55.8k
std::string OperatorXBase::debug_string(RuntimeState* state, int indentation_level) const {
178
55.8k
    return state->get_local_state(operator_id())->debug_string(indentation_level);
179
55.8k
}
180
181
631k
Status OperatorXBase::init(const TPlanNode& tnode, RuntimeState* state) {
182
631k
    std::string node_name = print_plan_node_type(tnode.node_type);
183
631k
    _nereids_id = tnode.nereids_id;
184
631k
    if (!tnode.intermediate_output_tuple_id_list.empty()) {
185
2.96k
        if (!tnode.__isset.output_tuple_id) {
186
0
            return Status::InternalError("no final output tuple id");
187
0
        }
188
2.96k
        if (tnode.intermediate_output_tuple_id_list.size() !=
189
2.96k
            tnode.intermediate_projections_list.size()) {
190
0
            return Status::InternalError(
191
0
                    "intermediate_output_tuple_id_list size:{} not match "
192
0
                    "intermediate_projections_list size:{}",
193
0
                    tnode.intermediate_output_tuple_id_list.size(),
194
0
                    tnode.intermediate_projections_list.size());
195
0
        }
196
2.96k
    }
197
631k
    auto substr = node_name.substr(0, node_name.find("_NODE"));
198
631k
    _op_name = substr + "_OPERATOR";
199
200
631k
    if (tnode.__isset.vconjunct) {
201
0
        return Status::InternalError("vconjunct is not supported yet");
202
631k
    } else if (tnode.__isset.conjuncts) {
203
348k
        for (const auto& conjunct : tnode.conjuncts) {
204
348k
            VExprContextSPtr context;
205
348k
            RETURN_IF_ERROR(VExpr::create_expr_tree(conjunct, context));
206
348k
            _conjuncts.emplace_back(context);
207
348k
        }
208
113k
    }
209
210
    // create the projections expr
211
631k
    if (tnode.__isset.projections) {
212
274k
        DCHECK(tnode.__isset.output_tuple_id);
213
274k
        RETURN_IF_ERROR(VExpr::create_expr_trees(tnode.projections, _projections));
214
274k
    }
215
631k
    if (!tnode.intermediate_projections_list.empty()) {
216
2.96k
        DCHECK(tnode.__isset.projections) << "no final projections";
217
2.96k
        _intermediate_projections.reserve(tnode.intermediate_projections_list.size());
218
3.96k
        for (const auto& tnode_projections : tnode.intermediate_projections_list) {
219
3.96k
            VExprContextSPtrs projections;
220
3.96k
            RETURN_IF_ERROR(VExpr::create_expr_trees(tnode_projections, projections));
221
3.96k
            _intermediate_projections.push_back(projections);
222
3.96k
        }
223
2.96k
    }
224
631k
    return Status::OK();
225
631k
}
226
227
659k
Status OperatorXBase::prepare(RuntimeState* state) {
228
659k
    for (auto& conjunct : _conjuncts) {
229
348k
        RETURN_IF_ERROR(conjunct->prepare(state, intermediate_row_desc()));
230
348k
    }
231
659k
    if (state->enable_adjust_conjunct_order_by_cost()) {
232
610k
        std::ranges::sort(_conjuncts, [](const auto& a, const auto& b) {
233
468k
            return a->execute_cost() < b->execute_cost();
234
468k
        });
235
610k
    };
236
237
663k
    for (int i = 0; i < _intermediate_projections.size(); i++) {
238
3.96k
        RETURN_IF_ERROR(
239
3.96k
                VExpr::prepare(_intermediate_projections[i], state, intermediate_row_desc(i)));
240
3.96k
    }
241
659k
    RETURN_IF_ERROR(VExpr::prepare(_projections, state, projections_row_desc()));
242
243
659k
    if (has_output_row_desc()) {
244
274k
        RETURN_IF_ERROR(VExpr::check_expr_output_type(_projections, *_output_row_descriptor));
245
274k
    }
246
247
659k
    for (auto& conjunct : _conjuncts) {
248
347k
        RETURN_IF_ERROR(conjunct->open(state));
249
347k
    }
250
659k
    RETURN_IF_ERROR(VExpr::open(_projections, state));
251
659k
    for (auto& projections : _intermediate_projections) {
252
3.96k
        RETURN_IF_ERROR(VExpr::open(projections, state));
253
3.96k
    }
254
659k
    if (_child && !is_source()) {
255
139k
        RETURN_IF_ERROR(_child->prepare(state));
256
139k
    }
257
258
659k
    if (VExpr::contains_blockable_function(_conjuncts) ||
259
659k
        VExpr::contains_blockable_function(_projections)) {
260
0
        _blockable = true;
261
0
    }
262
263
659k
    return Status::OK();
264
659k
}
265
266
7.56k
Status OperatorXBase::terminate(RuntimeState* state) {
267
7.56k
    if (_child && !is_source()) {
268
891
        RETURN_IF_ERROR(_child->terminate(state));
269
891
    }
270
7.56k
    auto result = state->get_local_state_result(operator_id());
271
7.56k
    if (!result) {
272
0
        return result.error();
273
0
    }
274
7.56k
    return result.value()->terminate(state);
275
7.56k
}
276
277
7.43M
Status OperatorXBase::close(RuntimeState* state) {
278
7.43M
    if (_child && !is_source()) {
279
1.58M
        RETURN_IF_ERROR(_child->close(state));
280
1.58M
    }
281
7.43M
    auto result = state->get_local_state_result(operator_id());
282
7.43M
    if (!result) {
283
0
        return result.error();
284
0
    }
285
7.43M
    return result.value()->close(state);
286
7.43M
}
287
288
34.7M
void PipelineXLocalStateBase::clear_origin_block() {
289
34.7M
    _origin_block.clear_column_data(_parent->intermediate_row_desc().num_materialized_slots());
290
34.7M
}
291
292
35.1M
Status PipelineXLocalStateBase::filter_block(const VExprContextSPtrs& expr_contexts, Block* block) {
293
35.1M
    RETURN_IF_ERROR(VExprContext::filter_block(expr_contexts, block, block->columns()));
294
295
35.1M
    _estimate_memory_usage += VExprContext::get_memory_usage(expr_contexts);
296
35.1M
    return Status::OK();
297
35.1M
}
298
299
0
bool PipelineXLocalStateBase::is_blockable() const {
300
0
    return std::any_of(_projections.begin(), _projections.end(),
301
0
                       [&](VExprContextSPtr expr) -> bool { return expr->is_blockable(); });
302
0
}
303
304
Status OperatorXBase::do_projections(RuntimeState* state, Block* origin_block,
305
34.7M
                                     Block* output_block) const {
306
34.7M
    auto* local_state = state->get_local_state(operator_id());
307
34.7M
    SCOPED_TIMER(local_state->exec_time_counter());
308
34.7M
    SCOPED_TIMER(local_state->_projection_timer);
309
34.7M
    const size_t rows = origin_block->rows();
310
34.7M
    if (rows == 0) {
311
34.6M
        return Status::OK();
312
34.6M
    }
313
122k
    Block input_block = *origin_block;
314
315
122k
    size_t bytes_usage = 0;
316
122k
    ColumnsWithTypeAndName new_columns;
317
122k
    for (const auto& projections : local_state->_intermediate_projections) {
318
1.02k
        if (projections.empty()) {
319
0
            return Status::InternalError("meet empty intermediate projection, node id: {}",
320
0
                                         node_id());
321
0
        }
322
1.02k
        new_columns.resize(projections.size());
323
7.27k
        for (int i = 0; i < projections.size(); i++) {
324
6.25k
            RETURN_IF_ERROR(projections[i]->execute(&input_block, new_columns[i]));
325
6.25k
            if (new_columns[i].column->size() != rows) {
326
0
                return Status::InternalError(
327
0
                        "intermediate projection result column size {} not equal input rows {}, "
328
0
                        "expr: {}",
329
0
                        new_columns[i].column->size(), rows,
330
0
                        projections[i]->root()->debug_string());
331
0
            }
332
6.25k
        }
333
1.02k
        Block tmp_block {new_columns};
334
1.02k
        bytes_usage += tmp_block.allocated_bytes();
335
1.02k
        input_block.swap(tmp_block);
336
1.02k
    }
337
338
122k
    if (input_block.rows() != rows) {
339
0
        return Status::InternalError(
340
0
                "after intermediate projections input block rows {} not equal origin rows {}, "
341
0
                "input_block: {}",
342
0
                input_block.rows(), rows, input_block.dump_structure());
343
0
    }
344
648k
    auto insert_column_datas = [&](auto& to, ColumnPtr& from, size_t rows) {
345
648k
        if (to->is_nullable() && !from->is_nullable()) {
346
0
            if (_keep_origin || !from->is_exclusive()) {
347
0
                auto& null_column = reinterpret_cast<ColumnNullable&>(*to);
348
0
                null_column.get_nested_column().insert_range_from(*from, 0, rows);
349
0
                null_column.get_null_map_column().get_data().resize_fill(rows, 0);
350
0
                bytes_usage += null_column.allocated_bytes();
351
0
            } else {
352
0
                to = make_nullable(from, false)->assume_mutable();
353
0
            }
354
648k
        } else {
355
648k
            if (_keep_origin || !from->is_exclusive()) {
356
641k
                to->insert_range_from(*from, 0, rows);
357
641k
                bytes_usage += from->allocated_bytes();
358
641k
            } else {
359
7.37k
                to = from->assume_mutable();
360
7.37k
            }
361
648k
        }
362
648k
    };
363
364
122k
    MutableBlock mutable_block =
365
122k
            VectorizedUtils::build_mutable_mem_reuse_block(output_block, *_output_row_descriptor);
366
122k
    if (rows != 0) {
367
122k
        auto& mutable_columns = mutable_block.mutable_columns();
368
122k
        const size_t origin_columns_count = input_block.columns();
369
122k
        DCHECK_EQ(mutable_columns.size(), local_state->_projections.size()) << debug_string();
370
771k
        for (int i = 0; i < mutable_columns.size(); ++i) {
371
648k
            auto result_column_id = -1;
372
648k
            ColumnPtr column_ptr;
373
648k
            RETURN_IF_ERROR(local_state->_projections[i]->execute(&input_block, column_ptr));
374
648k
            if (column_ptr->size() != rows) {
375
0
                return Status::InternalError(
376
0
                        "projection result column size {} not equal input rows {}, expr: {}",
377
0
                        column_ptr->size(), rows,
378
0
                        local_state->_projections[i]->root()->debug_string());
379
0
            }
380
648k
            column_ptr = column_ptr->convert_to_full_column_if_const();
381
648k
            if (result_column_id >= origin_columns_count) {
382
648k
                bytes_usage += column_ptr->allocated_bytes();
383
648k
            }
384
648k
            insert_column_datas(mutable_columns[i], column_ptr, rows);
385
648k
        }
386
122k
        DCHECK(mutable_block.rows() == rows);
387
122k
        output_block->set_columns(std::move(mutable_columns));
388
122k
    }
389
390
122k
    local_state->_estimate_memory_usage += bytes_usage;
391
392
122k
    return Status::OK();
393
122k
}
394
395
38.8M
Status OperatorXBase::get_block_after_projects(RuntimeState* state, Block* block, bool* eos) {
396
38.8M
    DBUG_EXECUTE_IF("Pipeline::return_empty_block", {
397
38.8M
        if (this->_op_name == "AGGREGATION_OPERATOR" || this->_op_name == "HASH_JOIN_OPERATOR" ||
398
38.8M
            this->_op_name == "PARTITIONED_AGGREGATION_OPERATOR" ||
399
38.8M
            this->_op_name == "PARTITIONED_HASH_JOIN_OPERATOR" ||
400
38.8M
            this->_op_name == "CROSS_JOIN_OPERATOR" || this->_op_name == "SORT_OPERATOR") {
401
38.8M
            if (_debug_point_count++ % 2 == 0) {
402
38.8M
                return Status::OK();
403
38.8M
            }
404
38.8M
        }
405
38.8M
    });
406
407
38.8M
    Status status;
408
38.8M
    auto* local_state = state->get_local_state(operator_id());
409
38.8M
    Defer defer([&]() {
410
38.8M
        if (status.ok()) {
411
38.8M
            if (auto rows = block->rows()) {
412
819k
                COUNTER_UPDATE(local_state->_rows_returned_counter, rows);
413
819k
                COUNTER_UPDATE(local_state->_blocks_returned_counter, 1);
414
819k
            }
415
38.8M
        }
416
38.8M
    });
417
38.8M
    if (_output_row_descriptor) {
418
34.7M
        local_state->clear_origin_block();
419
34.7M
        status = get_block(state, &local_state->_origin_block, eos);
420
34.7M
        if (UNLIKELY(!status.ok())) {
421
13
            return status;
422
13
        }
423
34.7M
        status = do_projections(state, &local_state->_origin_block, block);
424
34.7M
        return status;
425
34.7M
    }
426
4.03M
    status = get_block(state, block, eos);
427
4.03M
    RETURN_IF_ERROR(block->check_type_and_column());
428
4.03M
    return status;
429
4.03M
}
430
431
37.3M
void PipelineXLocalStateBase::reached_limit(Block* block, bool* eos) {
432
37.3M
    if (_parent->_limit != -1 and _num_rows_returned + block->rows() >= _parent->_limit) {
433
3.29k
        block->set_num_rows(_parent->_limit - _num_rows_returned);
434
3.29k
        *eos = true;
435
3.29k
    }
436
437
37.3M
    DBUG_EXECUTE_IF("Pipeline::reached_limit_early", {
438
37.3M
        auto op_name = to_lower(_parent->_op_name);
439
37.3M
        auto arg_op_name = dp->param<std::string>("op_name");
440
37.3M
        arg_op_name = to_lower(arg_op_name);
441
442
37.3M
        if (op_name == arg_op_name) {
443
37.3M
            *eos = true;
444
37.3M
        }
445
37.3M
    });
446
447
37.3M
    if (auto rows = block->rows()) {
448
750k
        _num_rows_returned += rows;
449
750k
    }
450
37.3M
}
451
452
30.6k
Status DataSinkOperatorXBase::terminate(RuntimeState* state) {
453
30.6k
    auto result = state->get_sink_local_state_result();
454
30.6k
    if (!result) {
455
0
        return result.error();
456
0
    }
457
30.6k
    return result.value()->terminate(state);
458
30.6k
}
459
460
56.0k
std::string DataSinkOperatorXBase::debug_string(int indentation_level) const {
461
56.0k
    fmt::memory_buffer debug_string_buffer;
462
463
56.0k
    fmt::format_to(debug_string_buffer, "{}{}: id={}, _is_serial_operator={}",
464
56.0k
                   std::string(indentation_level * 2, ' '), _name, node_id(), _is_serial_operator);
465
56.0k
    return fmt::to_string(debug_string_buffer);
466
56.0k
}
467
468
55.7k
std::string DataSinkOperatorXBase::debug_string(RuntimeState* state, int indentation_level) const {
469
55.7k
    return state->get_sink_local_state()->debug_string(indentation_level);
470
55.7k
}
471
472
384k
Status DataSinkOperatorXBase::init(const TDataSink& tsink) {
473
384k
    std::string op_name = "UNKNOWN_SINK";
474
384k
    auto it = _TDataSinkType_VALUES_TO_NAMES.find(tsink.type);
475
476
384k
    if (it != _TDataSinkType_VALUES_TO_NAMES.end()) {
477
384k
        op_name = it->second;
478
384k
    }
479
384k
    _name = op_name + "_OPERATOR";
480
384k
    return Status::OK();
481
384k
}
482
483
181k
Status DataSinkOperatorXBase::init(const TPlanNode& tnode, RuntimeState* state) {
484
181k
    std::string op_name = print_plan_node_type(tnode.node_type);
485
181k
    _nereids_id = tnode.nereids_id;
486
181k
    auto substr = op_name.substr(0, op_name.find("_NODE"));
487
181k
    _name = substr + "_SINK_OPERATOR";
488
181k
    return Status::OK();
489
181k
}
490
491
template <typename LocalStateType>
492
Status DataSinkOperatorX<LocalStateType>::setup_local_state(RuntimeState* state,
493
2.25M
                                                            LocalSinkStateInfo& info) {
494
2.25M
    auto local_state = LocalStateType::create_unique(this, state);
495
2.25M
    RETURN_IF_ERROR(local_state->init(state, info));
496
2.25M
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
2.25M
    return Status::OK();
498
2.25M
}
_ZN5doris17DataSinkOperatorXINS_27HashJoinBuildSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
185k
                                                            LocalSinkStateInfo& info) {
494
185k
    auto local_state = LocalStateType::create_unique(this, state);
495
185k
    RETURN_IF_ERROR(local_state->init(state, info));
496
185k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
185k
    return Status::OK();
498
185k
}
_ZN5doris17DataSinkOperatorXINS_20ResultSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
451k
                                                            LocalSinkStateInfo& info) {
494
451k
    auto local_state = LocalStateType::create_unique(this, state);
495
451k
    RETURN_IF_ERROR(local_state->init(state, info));
496
451k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
451k
    return Status::OK();
498
451k
}
_ZN5doris17DataSinkOperatorXINS_23JdbcTableSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
38
                                                            LocalSinkStateInfo& info) {
494
38
    auto local_state = LocalStateType::create_unique(this, state);
495
38
    RETURN_IF_ERROR(local_state->init(state, info));
496
38
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
38
    return Status::OK();
498
38
}
_ZN5doris17DataSinkOperatorXINS_27MemoryScratchSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
3
                                                            LocalSinkStateInfo& info) {
494
3
    auto local_state = LocalStateType::create_unique(this, state);
495
3
    RETURN_IF_ERROR(local_state->init(state, info));
496
3
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
3
    return Status::OK();
498
3
}
_ZN5doris17DataSinkOperatorXINS_24ResultFileSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
412
                                                            LocalSinkStateInfo& info) {
494
412
    auto local_state = LocalStateType::create_unique(this, state);
495
412
    RETURN_IF_ERROR(local_state->init(state, info));
496
412
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
412
    return Status::OK();
498
412
}
_ZN5doris17DataSinkOperatorXINS_23OlapTableSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
66.4k
                                                            LocalSinkStateInfo& info) {
494
66.4k
    auto local_state = LocalStateType::create_unique(this, state);
495
66.4k
    RETURN_IF_ERROR(local_state->init(state, info));
496
66.4k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
66.4k
    return Status::OK();
498
66.4k
}
_ZN5doris17DataSinkOperatorXINS_25OlapTableSinkV2LocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
2.71k
                                                            LocalSinkStateInfo& info) {
494
2.71k
    auto local_state = LocalStateType::create_unique(this, state);
495
2.71k
    RETURN_IF_ERROR(local_state->init(state, info));
496
2.71k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
2.71k
    return Status::OK();
498
2.71k
}
_ZN5doris17DataSinkOperatorXINS_23HiveTableSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
2.61k
                                                            LocalSinkStateInfo& info) {
494
2.61k
    auto local_state = LocalStateType::create_unique(this, state);
495
2.61k
    RETURN_IF_ERROR(local_state->init(state, info));
496
2.61k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
2.61k
    return Status::OK();
498
2.61k
}
_ZN5doris17DataSinkOperatorXINS_22TVFTableSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
72
                                                            LocalSinkStateInfo& info) {
494
72
    auto local_state = LocalStateType::create_unique(this, state);
495
72
    RETURN_IF_ERROR(local_state->init(state, info));
496
72
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
72
    return Status::OK();
498
72
}
_ZN5doris17DataSinkOperatorXINS_26IcebergTableSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
1.61k
                                                            LocalSinkStateInfo& info) {
494
1.61k
    auto local_state = LocalStateType::create_unique(this, state);
495
1.61k
    RETURN_IF_ERROR(local_state->init(state, info));
496
1.61k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
1.61k
    return Status::OK();
498
1.61k
}
Unexecuted instantiation: _ZN5doris17DataSinkOperatorXINS_31SpillIcebergTableSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Unexecuted instantiation: _ZN5doris17DataSinkOperatorXINS_21MCTableSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
_ZN5doris17DataSinkOperatorXINS_22AnalyticSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
9.06k
                                                            LocalSinkStateInfo& info) {
494
9.06k
    auto local_state = LocalStateType::create_unique(this, state);
495
9.06k
    RETURN_IF_ERROR(local_state->init(state, info));
496
9.06k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
9.06k
    return Status::OK();
498
9.06k
}
_ZN5doris17DataSinkOperatorXINS_23BlackholeSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
49
                                                            LocalSinkStateInfo& info) {
494
49
    auto local_state = LocalStateType::create_unique(this, state);
495
49
    RETURN_IF_ERROR(local_state->init(state, info));
496
49
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
49
    return Status::OK();
498
49
}
_ZN5doris17DataSinkOperatorXINS_18SortSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
243k
                                                            LocalSinkStateInfo& info) {
494
243k
    auto local_state = LocalStateType::create_unique(this, state);
495
243k
    RETURN_IF_ERROR(local_state->init(state, info));
496
243k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
243k
    return Status::OK();
498
243k
}
_ZN5doris17DataSinkOperatorXINS_23SpillSortSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
19
                                                            LocalSinkStateInfo& info) {
494
19
    auto local_state = LocalStateType::create_unique(this, state);
495
19
    RETURN_IF_ERROR(local_state->init(state, info));
496
19
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
19
    return Status::OK();
498
19
}
_ZN5doris17DataSinkOperatorXINS_27LocalExchangeSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
407k
                                                            LocalSinkStateInfo& info) {
494
407k
    auto local_state = LocalStateType::create_unique(this, state);
495
407k
    RETURN_IF_ERROR(local_state->init(state, info));
496
407k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
407k
    return Status::OK();
498
407k
}
_ZN5doris17DataSinkOperatorXINS_17AggSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
135k
                                                            LocalSinkStateInfo& info) {
494
135k
    auto local_state = LocalStateType::create_unique(this, state);
495
135k
    RETURN_IF_ERROR(local_state->init(state, info));
496
135k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
135k
    return Status::OK();
498
135k
}
_ZN5doris17DataSinkOperatorXINS_28PartitionedAggSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
365
                                                            LocalSinkStateInfo& info) {
494
365
    auto local_state = LocalStateType::create_unique(this, state);
495
365
    RETURN_IF_ERROR(local_state->init(state, info));
496
365
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
365
    return Status::OK();
498
365
}
_ZN5doris17DataSinkOperatorXINS_22ExchangeSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
717k
                                                            LocalSinkStateInfo& info) {
494
717k
    auto local_state = LocalStateType::create_unique(this, state);
495
717k
    RETURN_IF_ERROR(local_state->init(state, info));
496
717k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
717k
    return Status::OK();
498
717k
}
_ZN5doris17DataSinkOperatorXINS_33NestedLoopJoinBuildSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
7.61k
                                                            LocalSinkStateInfo& info) {
494
7.61k
    auto local_state = LocalStateType::create_unique(this, state);
495
7.61k
    RETURN_IF_ERROR(local_state->init(state, info));
496
7.61k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
7.61k
    return Status::OK();
498
7.61k
}
_ZN5doris17DataSinkOperatorXINS_19UnionSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
8.04k
                                                            LocalSinkStateInfo& info) {
494
8.04k
    auto local_state = LocalStateType::create_unique(this, state);
495
8.04k
    RETURN_IF_ERROR(local_state->init(state, info));
496
8.04k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
8.04k
    return Status::OK();
498
8.04k
}
_ZN5doris17DataSinkOperatorXINS_33MultiCastDataStreamSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
3.45k
                                                            LocalSinkStateInfo& info) {
494
3.45k
    auto local_state = LocalStateType::create_unique(this, state);
495
3.45k
    RETURN_IF_ERROR(local_state->init(state, info));
496
3.45k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
3.45k
    return Status::OK();
498
3.45k
}
_ZN5doris17DataSinkOperatorXINS_27PartitionSortSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
383
                                                            LocalSinkStateInfo& info) {
494
383
    auto local_state = LocalStateType::create_unique(this, state);
495
383
    RETURN_IF_ERROR(local_state->init(state, info));
496
383
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
383
    return Status::OK();
498
383
}
_ZN5doris17DataSinkOperatorXINS_22SetProbeSinkLocalStateILb1EEEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
4.64k
                                                            LocalSinkStateInfo& info) {
494
4.64k
    auto local_state = LocalStateType::create_unique(this, state);
495
4.64k
    RETURN_IF_ERROR(local_state->init(state, info));
496
4.64k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
4.64k
    return Status::OK();
498
4.64k
}
_ZN5doris17DataSinkOperatorXINS_22SetProbeSinkLocalStateILb0EEEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
2.47k
                                                            LocalSinkStateInfo& info) {
494
2.47k
    auto local_state = LocalStateType::create_unique(this, state);
495
2.47k
    RETURN_IF_ERROR(local_state->init(state, info));
496
2.47k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
2.47k
    return Status::OK();
498
2.47k
}
_ZN5doris17DataSinkOperatorXINS_17SetSinkLocalStateILb1EEEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
2.45k
                                                            LocalSinkStateInfo& info) {
494
2.45k
    auto local_state = LocalStateType::create_unique(this, state);
495
2.45k
    RETURN_IF_ERROR(local_state->init(state, info));
496
2.45k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
2.45k
    return Status::OK();
498
2.45k
}
_ZN5doris17DataSinkOperatorXINS_17SetSinkLocalStateILb0EEEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
2.41k
                                                            LocalSinkStateInfo& info) {
494
2.41k
    auto local_state = LocalStateType::create_unique(this, state);
495
2.41k
    RETURN_IF_ERROR(local_state->init(state, info));
496
2.41k
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
2.41k
    return Status::OK();
498
2.41k
}
_ZN5doris17DataSinkOperatorXINS_33PartitionedHashJoinSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
1
                                                            LocalSinkStateInfo& info) {
494
1
    auto local_state = LocalStateType::create_unique(this, state);
495
1
    RETURN_IF_ERROR(local_state->init(state, info));
496
1
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
1
    return Status::OK();
498
1
}
_ZN5doris17DataSinkOperatorXINS_30GroupCommitBlockSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
163
                                                            LocalSinkStateInfo& info) {
494
163
    auto local_state = LocalStateType::create_unique(this, state);
495
163
    RETURN_IF_ERROR(local_state->init(state, info));
496
163
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
163
    return Status::OK();
498
163
}
_ZN5doris17DataSinkOperatorXINS_19CacheSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
366
                                                            LocalSinkStateInfo& info) {
494
366
    auto local_state = LocalStateType::create_unique(this, state);
495
366
    RETURN_IF_ERROR(local_state->init(state, info));
496
366
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
366
    return Status::OK();
498
366
}
_ZN5doris17DataSinkOperatorXINS_18DictSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
104
                                                            LocalSinkStateInfo& info) {
494
104
    auto local_state = LocalStateType::create_unique(this, state);
495
104
    RETURN_IF_ERROR(local_state->init(state, info));
496
104
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
104
    return Status::OK();
498
104
}
_ZN5doris17DataSinkOperatorXINS_20RecCTESinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
150
                                                            LocalSinkStateInfo& info) {
494
150
    auto local_state = LocalStateType::create_unique(this, state);
495
150
    RETURN_IF_ERROR(local_state->init(state, info));
496
150
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
150
    return Status::OK();
498
150
}
_ZN5doris17DataSinkOperatorXINS_26RecCTEAnchorSinkLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
493
150
                                                            LocalSinkStateInfo& info) {
494
150
    auto local_state = LocalStateType::create_unique(this, state);
495
150
    RETURN_IF_ERROR(local_state->init(state, info));
496
150
    state->emplace_sink_local_state(operator_id(), std::move(local_state));
497
150
    return Status::OK();
498
150
}
499
500
template <typename LocalStateType>
501
1.81M
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
0
                                 LocalExchangeSharedState>) {
504
0
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
0
                                        MultiCastSharedState>) {
507
0
        throw Exception(Status::FatalError("should not reach here!"));
508
1.81M
    } else {
509
1.81M
        auto ss = LocalStateType::SharedStateType::create_shared();
510
1.81M
        ss->id = operator_id();
511
1.81M
        for (auto& dest : dests_id()) {
512
1.81M
            ss->related_op_ids.insert(dest);
513
1.81M
        }
514
1.81M
        return ss;
515
1.81M
    }
516
1.81M
}
_ZNK5doris17DataSinkOperatorXINS_27HashJoinBuildSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
170k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
170k
    } else {
509
170k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
170k
        ss->id = operator_id();
511
170k
        for (auto& dest : dests_id()) {
512
170k
            ss->related_op_ids.insert(dest);
513
170k
        }
514
170k
        return ss;
515
170k
    }
516
170k
}
_ZNK5doris17DataSinkOperatorXINS_20ResultSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
451k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
451k
    } else {
509
451k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
451k
        ss->id = operator_id();
511
451k
        for (auto& dest : dests_id()) {
512
451k
            ss->related_op_ids.insert(dest);
513
451k
        }
514
451k
        return ss;
515
451k
    }
516
451k
}
_ZNK5doris17DataSinkOperatorXINS_23JdbcTableSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
38
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
38
    } else {
509
38
        auto ss = LocalStateType::SharedStateType::create_shared();
510
38
        ss->id = operator_id();
511
38
        for (auto& dest : dests_id()) {
512
38
            ss->related_op_ids.insert(dest);
513
38
        }
514
38
        return ss;
515
38
    }
516
38
}
_ZNK5doris17DataSinkOperatorXINS_27MemoryScratchSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
3
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
3
    } else {
509
3
        auto ss = LocalStateType::SharedStateType::create_shared();
510
3
        ss->id = operator_id();
511
3
        for (auto& dest : dests_id()) {
512
3
            ss->related_op_ids.insert(dest);
513
3
        }
514
3
        return ss;
515
3
    }
516
3
}
_ZNK5doris17DataSinkOperatorXINS_24ResultFileSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
413
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
413
    } else {
509
413
        auto ss = LocalStateType::SharedStateType::create_shared();
510
413
        ss->id = operator_id();
511
413
        for (auto& dest : dests_id()) {
512
413
            ss->related_op_ids.insert(dest);
513
413
        }
514
413
        return ss;
515
413
    }
516
413
}
_ZNK5doris17DataSinkOperatorXINS_23OlapTableSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
65.4k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
65.4k
    } else {
509
65.4k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
65.4k
        ss->id = operator_id();
511
65.4k
        for (auto& dest : dests_id()) {
512
65.3k
            ss->related_op_ids.insert(dest);
513
65.3k
        }
514
65.4k
        return ss;
515
65.4k
    }
516
65.4k
}
_ZNK5doris17DataSinkOperatorXINS_25OlapTableSinkV2LocalStateEE19create_shared_stateEv
Line
Count
Source
501
2.46k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
2.46k
    } else {
509
2.46k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
2.46k
        ss->id = operator_id();
511
2.46k
        for (auto& dest : dests_id()) {
512
2.46k
            ss->related_op_ids.insert(dest);
513
2.46k
        }
514
2.46k
        return ss;
515
2.46k
    }
516
2.46k
}
_ZNK5doris17DataSinkOperatorXINS_23HiveTableSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
2.61k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
2.61k
    } else {
509
2.61k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
2.61k
        ss->id = operator_id();
511
2.61k
        for (auto& dest : dests_id()) {
512
2.61k
            ss->related_op_ids.insert(dest);
513
2.61k
        }
514
2.61k
        return ss;
515
2.61k
    }
516
2.61k
}
_ZNK5doris17DataSinkOperatorXINS_22TVFTableSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
72
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
72
    } else {
509
72
        auto ss = LocalStateType::SharedStateType::create_shared();
510
72
        ss->id = operator_id();
511
72
        for (auto& dest : dests_id()) {
512
72
            ss->related_op_ids.insert(dest);
513
72
        }
514
72
        return ss;
515
72
    }
516
72
}
_ZNK5doris17DataSinkOperatorXINS_26IcebergTableSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
1.61k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
1.61k
    } else {
509
1.61k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
1.61k
        ss->id = operator_id();
511
1.61k
        for (auto& dest : dests_id()) {
512
1.61k
            ss->related_op_ids.insert(dest);
513
1.61k
        }
514
1.61k
        return ss;
515
1.61k
    }
516
1.61k
}
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_31SpillIcebergTableSinkLocalStateEE19create_shared_stateEv
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_21MCTableSinkLocalStateEE19create_shared_stateEv
_ZNK5doris17DataSinkOperatorXINS_22AnalyticSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
9.07k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
9.07k
    } else {
509
9.07k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
9.07k
        ss->id = operator_id();
511
9.07k
        for (auto& dest : dests_id()) {
512
9.05k
            ss->related_op_ids.insert(dest);
513
9.05k
        }
514
9.07k
        return ss;
515
9.07k
    }
516
9.07k
}
_ZNK5doris17DataSinkOperatorXINS_23BlackholeSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
49
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
49
    } else {
509
49
        auto ss = LocalStateType::SharedStateType::create_shared();
510
49
        ss->id = operator_id();
511
49
        for (auto& dest : dests_id()) {
512
49
            ss->related_op_ids.insert(dest);
513
49
        }
514
49
        return ss;
515
49
    }
516
49
}
_ZNK5doris17DataSinkOperatorXINS_18SortSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
243k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
243k
    } else {
509
243k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
243k
        ss->id = operator_id();
511
243k
        for (auto& dest : dests_id()) {
512
243k
            ss->related_op_ids.insert(dest);
513
243k
        }
514
243k
        return ss;
515
243k
    }
516
243k
}
_ZNK5doris17DataSinkOperatorXINS_23SpillSortSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
21
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
21
    } else {
509
21
        auto ss = LocalStateType::SharedStateType::create_shared();
510
21
        ss->id = operator_id();
511
21
        for (auto& dest : dests_id()) {
512
21
            ss->related_op_ids.insert(dest);
513
21
        }
514
21
        return ss;
515
21
    }
516
21
}
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_27LocalExchangeSinkLocalStateEE19create_shared_stateEv
_ZNK5doris17DataSinkOperatorXINS_17AggSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
136k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
136k
    } else {
509
136k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
136k
        ss->id = operator_id();
511
136k
        for (auto& dest : dests_id()) {
512
135k
            ss->related_op_ids.insert(dest);
513
135k
        }
514
136k
        return ss;
515
136k
    }
516
136k
}
_ZNK5doris17DataSinkOperatorXINS_28PartitionedAggSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
364
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
364
    } else {
509
364
        auto ss = LocalStateType::SharedStateType::create_shared();
510
364
        ss->id = operator_id();
511
364
        for (auto& dest : dests_id()) {
512
364
            ss->related_op_ids.insert(dest);
513
364
        }
514
364
        return ss;
515
364
    }
516
364
}
_ZNK5doris17DataSinkOperatorXINS_22ExchangeSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
717k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
717k
    } else {
509
717k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
717k
        ss->id = operator_id();
511
717k
        for (auto& dest : dests_id()) {
512
716k
            ss->related_op_ids.insert(dest);
513
716k
        }
514
717k
        return ss;
515
717k
    }
516
717k
}
_ZNK5doris17DataSinkOperatorXINS_33NestedLoopJoinBuildSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
7.61k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
7.61k
    } else {
509
7.61k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
7.61k
        ss->id = operator_id();
511
7.61k
        for (auto& dest : dests_id()) {
512
7.61k
            ss->related_op_ids.insert(dest);
513
7.61k
        }
514
7.61k
        return ss;
515
7.61k
    }
516
7.61k
}
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_19UnionSinkLocalStateEE19create_shared_stateEv
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_33MultiCastDataStreamSinkLocalStateEE19create_shared_stateEv
_ZNK5doris17DataSinkOperatorXINS_27PartitionSortSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
484
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
484
    } else {
509
484
        auto ss = LocalStateType::SharedStateType::create_shared();
510
484
        ss->id = operator_id();
511
485
        for (auto& dest : dests_id()) {
512
485
            ss->related_op_ids.insert(dest);
513
485
        }
514
484
        return ss;
515
484
    }
516
484
}
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_22SetProbeSinkLocalStateILb1EEEE19create_shared_stateEv
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_22SetProbeSinkLocalStateILb0EEEE19create_shared_stateEv
_ZNK5doris17DataSinkOperatorXINS_17SetSinkLocalStateILb1EEEE19create_shared_stateEv
Line
Count
Source
501
2.47k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
2.47k
    } else {
509
2.47k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
2.47k
        ss->id = operator_id();
511
2.47k
        for (auto& dest : dests_id()) {
512
2.46k
            ss->related_op_ids.insert(dest);
513
2.46k
        }
514
2.47k
        return ss;
515
2.47k
    }
516
2.47k
}
_ZNK5doris17DataSinkOperatorXINS_17SetSinkLocalStateILb0EEEE19create_shared_stateEv
Line
Count
Source
501
2.42k
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
2.42k
    } else {
509
2.42k
        auto ss = LocalStateType::SharedStateType::create_shared();
510
2.42k
        ss->id = operator_id();
511
2.42k
        for (auto& dest : dests_id()) {
512
2.42k
            ss->related_op_ids.insert(dest);
513
2.42k
        }
514
2.42k
        return ss;
515
2.42k
    }
516
2.42k
}
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_33PartitionedHashJoinSinkLocalStateEE19create_shared_stateEv
_ZNK5doris17DataSinkOperatorXINS_30GroupCommitBlockSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
163
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
163
    } else {
509
163
        auto ss = LocalStateType::SharedStateType::create_shared();
510
163
        ss->id = operator_id();
511
163
        for (auto& dest : dests_id()) {
512
163
            ss->related_op_ids.insert(dest);
513
163
        }
514
163
        return ss;
515
163
    }
516
163
}
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_19CacheSinkLocalStateEE19create_shared_stateEv
_ZNK5doris17DataSinkOperatorXINS_18DictSinkLocalStateEE19create_shared_stateEv
Line
Count
Source
501
104
std::shared_ptr<BasicSharedState> DataSinkOperatorX<LocalStateType>::create_shared_state() const {
502
    if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
503
                                 LocalExchangeSharedState>) {
504
        return nullptr;
505
    } else if constexpr (std::is_same_v<typename LocalStateType::SharedStateType,
506
                                        MultiCastSharedState>) {
507
        throw Exception(Status::FatalError("should not reach here!"));
508
104
    } else {
509
104
        auto ss = LocalStateType::SharedStateType::create_shared();
510
104
        ss->id = operator_id();
511
104
        for (auto& dest : dests_id()) {
512
104
            ss->related_op_ids.insert(dest);
513
104
        }
514
104
        return ss;
515
104
    }
516
104
}
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_20RecCTESinkLocalStateEE19create_shared_stateEv
Unexecuted instantiation: _ZNK5doris17DataSinkOperatorXINS_26RecCTEAnchorSinkLocalStateEE19create_shared_stateEv
517
518
template <typename LocalStateType>
519
2.94M
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
2.94M
    auto local_state = LocalStateType::create_unique(state, this);
521
2.94M
    RETURN_IF_ERROR(local_state->init(state, info));
522
2.94M
    state->emplace_local_state(operator_id(), std::move(local_state));
523
2.94M
    return Status::OK();
524
2.94M
}
_ZN5doris9OperatorXINS_23HashJoinProbeLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
136k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
136k
    auto local_state = LocalStateType::create_unique(state, this);
521
136k
    RETURN_IF_ERROR(local_state->init(state, info));
522
136k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
136k
    return Status::OK();
524
136k
}
_ZN5doris9OperatorXINS_18OlapScanLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
331k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
331k
    auto local_state = LocalStateType::create_unique(state, this);
521
331k
    RETURN_IF_ERROR(local_state->init(state, info));
522
331k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
331k
    return Status::OK();
524
331k
}
_ZN5doris9OperatorXINS_21GroupCommitLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
78
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
78
    auto local_state = LocalStateType::create_unique(state, this);
521
78
    RETURN_IF_ERROR(local_state->init(state, info));
522
78
    state->emplace_local_state(operator_id(), std::move(local_state));
523
78
    return Status::OK();
524
78
}
_ZN5doris9OperatorXINS_18JDBCScanLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
1.16k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
1.16k
    auto local_state = LocalStateType::create_unique(state, this);
521
1.16k
    RETURN_IF_ERROR(local_state->init(state, info));
522
1.16k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
1.16k
    return Status::OK();
524
1.16k
}
_ZN5doris9OperatorXINS_18FileScanLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
17.2k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
17.2k
    auto local_state = LocalStateType::create_unique(state, this);
521
17.2k
    RETURN_IF_ERROR(local_state->init(state, info));
522
17.2k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
17.2k
    return Status::OK();
524
17.2k
}
_ZN5doris9OperatorXINS_16EsScanLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
328
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
328
    auto local_state = LocalStateType::create_unique(state, this);
521
328
    RETURN_IF_ERROR(local_state->init(state, info));
522
328
    state->emplace_local_state(operator_id(), std::move(local_state));
523
328
    return Status::OK();
524
328
}
_ZN5doris9OperatorXINS_18AnalyticLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
8.99k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
8.99k
    auto local_state = LocalStateType::create_unique(state, this);
521
8.99k
    RETURN_IF_ERROR(local_state->init(state, info));
522
8.99k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
8.99k
    return Status::OK();
524
8.99k
}
_ZN5doris9OperatorXINS_14SortLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
11.3k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
11.3k
    auto local_state = LocalStateType::create_unique(state, this);
521
11.3k
    RETURN_IF_ERROR(local_state->init(state, info));
522
11.3k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
11.3k
    return Status::OK();
524
11.3k
}
_ZN5doris9OperatorXINS_19SpillSortLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
16
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
16
    auto local_state = LocalStateType::create_unique(state, this);
521
16
    RETURN_IF_ERROR(local_state->init(state, info));
522
16
    state->emplace_local_state(operator_id(), std::move(local_state));
523
16
    return Status::OK();
524
16
}
_ZN5doris9OperatorXINS_24LocalMergeSortLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
230k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
230k
    auto local_state = LocalStateType::create_unique(state, this);
521
230k
    RETURN_IF_ERROR(local_state->init(state, info));
522
230k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
230k
    return Status::OK();
524
230k
}
_ZN5doris9OperatorXINS_13AggLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
135k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
135k
    auto local_state = LocalStateType::create_unique(state, this);
521
135k
    RETURN_IF_ERROR(local_state->init(state, info));
522
135k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
135k
    return Status::OK();
524
135k
}
_ZN5doris9OperatorXINS_24PartitionedAggLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
359
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
359
    auto local_state = LocalStateType::create_unique(state, this);
521
359
    RETURN_IF_ERROR(local_state->init(state, info));
522
359
    state->emplace_local_state(operator_id(), std::move(local_state));
523
359
    return Status::OK();
524
359
}
_ZN5doris9OperatorXINS_23TableFunctionLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
4.33k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
4.33k
    auto local_state = LocalStateType::create_unique(state, this);
521
4.33k
    RETURN_IF_ERROR(local_state->init(state, info));
522
4.33k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
4.33k
    return Status::OK();
524
4.33k
}
_ZN5doris9OperatorXINS_18ExchangeLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
491k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
491k
    auto local_state = LocalStateType::create_unique(state, this);
521
491k
    RETURN_IF_ERROR(local_state->init(state, info));
522
491k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
491k
    return Status::OK();
524
491k
}
_ZN5doris9OperatorXINS_16RepeatLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
1.32k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
1.32k
    auto local_state = LocalStateType::create_unique(state, this);
521
1.32k
    RETURN_IF_ERROR(local_state->init(state, info));
522
1.32k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
1.32k
    return Status::OK();
524
1.32k
}
_ZN5doris9OperatorXINS_29NestedLoopJoinProbeLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
7.60k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
7.60k
    auto local_state = LocalStateType::create_unique(state, this);
521
7.60k
    RETURN_IF_ERROR(local_state->init(state, info));
522
7.60k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
7.60k
    return Status::OK();
524
7.60k
}
_ZN5doris9OperatorXINS_23AssertNumRowsLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
127
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
127
    auto local_state = LocalStateType::create_unique(state, this);
521
127
    RETURN_IF_ERROR(local_state->init(state, info));
522
127
    state->emplace_local_state(operator_id(), std::move(local_state));
523
127
    return Status::OK();
524
127
}
_ZN5doris9OperatorXINS_18EmptySetLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
1.61k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
1.61k
    auto local_state = LocalStateType::create_unique(state, this);
521
1.61k
    RETURN_IF_ERROR(local_state->init(state, info));
522
1.61k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
1.61k
    return Status::OK();
524
1.61k
}
_ZN5doris9OperatorXINS_21UnionSourceLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
41.8k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
41.8k
    auto local_state = LocalStateType::create_unique(state, this);
521
41.8k
    RETURN_IF_ERROR(local_state->init(state, info));
522
41.8k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
41.8k
    return Status::OK();
524
41.8k
}
_ZN5doris9OperatorXINS_35MultiCastDataStreamSourceLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
8.88k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
8.88k
    auto local_state = LocalStateType::create_unique(state, this);
521
8.88k
    RETURN_IF_ERROR(local_state->init(state, info));
522
8.88k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
8.88k
    return Status::OK();
524
8.88k
}
_ZN5doris9OperatorXINS_29PartitionSortSourceLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
382
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
382
    auto local_state = LocalStateType::create_unique(state, this);
521
382
    RETURN_IF_ERROR(local_state->init(state, info));
522
382
    state->emplace_local_state(operator_id(), std::move(local_state));
523
382
    return Status::OK();
524
382
}
_ZN5doris9OperatorXINS_19SetSourceLocalStateILb1EEEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
2.38k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
2.38k
    auto local_state = LocalStateType::create_unique(state, this);
521
2.38k
    RETURN_IF_ERROR(local_state->init(state, info));
522
2.38k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
2.38k
    return Status::OK();
524
2.38k
}
_ZN5doris9OperatorXINS_19SetSourceLocalStateILb0EEEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
2.33k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
2.33k
    auto local_state = LocalStateType::create_unique(state, this);
521
2.33k
    RETURN_IF_ERROR(local_state->init(state, info));
522
2.33k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
2.33k
    return Status::OK();
524
2.33k
}
_ZN5doris9OperatorXINS_17DataGenLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
362
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
362
    auto local_state = LocalStateType::create_unique(state, this);
521
362
    RETURN_IF_ERROR(local_state->init(state, info));
522
362
    state->emplace_local_state(operator_id(), std::move(local_state));
523
362
    return Status::OK();
524
362
}
_ZN5doris9OperatorXINS_20SchemaScanLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
1.93k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
1.93k
    auto local_state = LocalStateType::create_unique(state, this);
521
1.93k
    RETURN_IF_ERROR(local_state->init(state, info));
522
1.93k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
1.93k
    return Status::OK();
524
1.93k
}
_ZN5doris9OperatorXINS_18MetaScanLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
5.93k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
5.93k
    auto local_state = LocalStateType::create_unique(state, this);
521
5.93k
    RETURN_IF_ERROR(local_state->init(state, info));
522
5.93k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
5.93k
    return Status::OK();
524
5.93k
}
_ZN5doris9OperatorXINS_29LocalExchangeSourceLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
883k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
883k
    auto local_state = LocalStateType::create_unique(state, this);
521
883k
    RETURN_IF_ERROR(local_state->init(state, info));
522
883k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
883k
    return Status::OK();
524
883k
}
Unexecuted instantiation: _ZN5doris9OperatorXINS_34PartitionedHashJoinProbeLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
_ZN5doris9OperatorXINS_21CacheSourceLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
366
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
366
    auto local_state = LocalStateType::create_unique(state, this);
521
366
    RETURN_IF_ERROR(local_state->init(state, info));
522
366
    state->emplace_local_state(operator_id(), std::move(local_state));
523
366
    return Status::OK();
524
366
}
_ZN5doris9OperatorXINS_22RecCTESourceLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
150
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
150
    auto local_state = LocalStateType::create_unique(state, this);
521
150
    RETURN_IF_ERROR(local_state->init(state, info));
522
150
    state->emplace_local_state(operator_id(), std::move(local_state));
523
150
    return Status::OK();
524
150
}
_ZN5doris9OperatorXINS_20RecCTEScanLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
1.85k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
1.85k
    auto local_state = LocalStateType::create_unique(state, this);
521
1.85k
    RETURN_IF_ERROR(local_state->init(state, info));
522
1.85k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
1.85k
    return Status::OK();
524
1.85k
}
_ZN5doris9OperatorXINS_25MaterializationLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
1.28k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
1.28k
    auto local_state = LocalStateType::create_unique(state, this);
521
1.28k
    RETURN_IF_ERROR(local_state->init(state, info));
522
1.28k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
1.28k
    return Status::OK();
524
1.28k
}
_ZN5doris9OperatorXINS_16SelectLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
1.37k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
1.37k
    auto local_state = LocalStateType::create_unique(state, this);
521
1.37k
    RETURN_IF_ERROR(local_state->init(state, info));
522
1.37k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
1.37k
    return Status::OK();
524
1.37k
}
_ZN5doris9OperatorXINS_22StreamingAggLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
12.2k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
12.2k
    auto local_state = LocalStateType::create_unique(state, this);
521
12.2k
    RETURN_IF_ERROR(local_state->init(state, info));
522
12.2k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
12.2k
    return Status::OK();
524
12.2k
}
_ZN5doris9OperatorXINS_30DistinctStreamingAggLocalStateEE17setup_local_stateEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
519
604k
Status OperatorX<LocalStateType>::setup_local_state(RuntimeState* state, LocalStateInfo& info) {
520
604k
    auto local_state = LocalStateType::create_unique(state, this);
521
604k
    RETURN_IF_ERROR(local_state->init(state, info));
522
604k
    state->emplace_local_state(operator_id(), std::move(local_state));
523
604k
    return Status::OK();
524
604k
}
525
526
PipelineXSinkLocalStateBase::PipelineXSinkLocalStateBase(DataSinkOperatorXBase* parent,
527
                                                         RuntimeState* state)
528
2.25M
        : _parent(parent), _state(state) {}
529
530
PipelineXLocalStateBase::PipelineXLocalStateBase(RuntimeState* state, OperatorXBase* parent)
531
2.95M
        : _num_rows_returned(0), _rows_returned_counter(nullptr), _parent(parent), _state(state) {}
532
533
template <typename SharedStateArg>
534
2.95M
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
2.95M
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
2.95M
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
2.95M
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
2.95M
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
2.95M
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
2.95M
    _operator_profile->add_child(_common_profile.get(), true);
543
2.95M
    _operator_profile->add_child(_custom_profile.get(), true);
544
2.95M
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
2.95M
    if constexpr (!is_fake_shared) {
546
1.47M
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
898k
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
898k
                                    .first.get()
549
898k
                                    ->template cast<SharedStateArg>();
550
551
898k
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
898k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
898k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
898k
        } else if (info.shared_state) {
555
527k
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
0
                DCHECK(false);
557
0
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
527k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
527k
            _dependency = _shared_state->create_source_dependency(
562
527k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
527k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
527k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
527k
        } else {
566
48.4k
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
1.80k
                DCHECK(false);
568
1.80k
            }
569
48.4k
        }
570
1.47M
    }
571
572
2.95M
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
2.95M
    _rows_returned_counter =
577
2.95M
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
2.95M
    _blocks_returned_counter =
579
2.95M
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
2.95M
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
2.95M
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
2.95M
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
2.95M
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
2.95M
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
2.95M
    _memory_used_counter =
586
2.95M
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
2.95M
    _common_profile->add_info_string("IsColocate",
588
2.95M
                                     std::to_string(_parent->is_colocated_operator()));
589
2.95M
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
2.95M
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
2.95M
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
2.95M
    return Status::OK();
593
2.95M
}
_ZN5doris19PipelineXLocalStateINS_19HashJoinSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
137k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
137k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
137k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
137k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
137k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
137k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
137k
    _operator_profile->add_child(_common_profile.get(), true);
543
137k
    _operator_profile->add_child(_custom_profile.get(), true);
544
137k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
137k
    if constexpr (!is_fake_shared) {
546
137k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
14.3k
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
14.3k
                                    .first.get()
549
14.3k
                                    ->template cast<SharedStateArg>();
550
551
14.3k
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
14.3k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
14.3k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
122k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
121k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
121k
            _dependency = _shared_state->create_source_dependency(
562
121k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
121k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
121k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
121k
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
1.08k
        }
570
137k
    }
571
572
137k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
137k
    _rows_returned_counter =
577
137k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
137k
    _blocks_returned_counter =
579
137k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
137k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
137k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
137k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
137k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
137k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
137k
    _memory_used_counter =
586
137k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
137k
    _common_profile->add_info_string("IsColocate",
588
137k
                                     std::to_string(_parent->is_colocated_operator()));
589
137k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
137k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
137k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
137k
    return Status::OK();
593
137k
}
_ZN5doris19PipelineXLocalStateINS_30PartitionedHashJoinSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
1
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
1
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
1
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
1
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
1
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
1
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
1
    _operator_profile->add_child(_common_profile.get(), true);
543
1
    _operator_profile->add_child(_custom_profile.get(), true);
544
1
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
1
    if constexpr (!is_fake_shared) {
546
1
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
1
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
1
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
1
            _dependency = _shared_state->create_source_dependency(
562
1
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
1
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
1
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
1
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
0
        }
570
1
    }
571
572
1
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
1
    _rows_returned_counter =
577
1
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
1
    _blocks_returned_counter =
579
1
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
1
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
1
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
1
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
1
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
1
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
1
    _memory_used_counter =
586
1
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
1
    _common_profile->add_info_string("IsColocate",
588
1
                                     std::to_string(_parent->is_colocated_operator()));
589
1
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
1
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
1
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
1
    return Status::OK();
593
1
}
_ZN5doris19PipelineXLocalStateINS_15SortSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
242k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
242k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
242k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
242k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
242k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
242k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
242k
    _operator_profile->add_child(_common_profile.get(), true);
543
242k
    _operator_profile->add_child(_custom_profile.get(), true);
544
242k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
242k
    if constexpr (!is_fake_shared) {
546
242k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
242k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
237k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
237k
            _dependency = _shared_state->create_source_dependency(
562
237k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
237k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
237k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
237k
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
5.34k
        }
570
242k
    }
571
572
242k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
242k
    _rows_returned_counter =
577
242k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
242k
    _blocks_returned_counter =
579
242k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
242k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
242k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
242k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
242k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
242k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
242k
    _memory_used_counter =
586
242k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
242k
    _common_profile->add_info_string("IsColocate",
588
242k
                                     std::to_string(_parent->is_colocated_operator()));
589
242k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
242k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
242k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
242k
    return Status::OK();
593
242k
}
_ZN5doris19PipelineXLocalStateINS_20SpillSortSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
16
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
16
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
16
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
16
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
16
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
16
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
16
    _operator_profile->add_child(_common_profile.get(), true);
543
16
    _operator_profile->add_child(_custom_profile.get(), true);
544
16
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
16
    if constexpr (!is_fake_shared) {
546
16
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
16
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
16
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
16
            _dependency = _shared_state->create_source_dependency(
562
16
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
16
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
16
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
16
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
0
        }
570
16
    }
571
572
16
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
16
    _rows_returned_counter =
577
16
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
16
    _blocks_returned_counter =
579
16
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
16
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
16
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
16
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
16
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
16
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
16
    _memory_used_counter =
586
16
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
16
    _common_profile->add_info_string("IsColocate",
588
16
                                     std::to_string(_parent->is_colocated_operator()));
589
16
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
16
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
16
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
16
    return Status::OK();
593
16
}
_ZN5doris19PipelineXLocalStateINS_25NestedLoopJoinSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
7.58k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
7.58k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
7.58k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
7.58k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
7.58k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
7.58k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
7.58k
    _operator_profile->add_child(_common_profile.get(), true);
543
7.58k
    _operator_profile->add_child(_custom_profile.get(), true);
544
7.58k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
7.58k
    if constexpr (!is_fake_shared) {
546
7.58k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
7.59k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
7.59k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
7.59k
            _dependency = _shared_state->create_source_dependency(
562
7.59k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
7.59k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
7.59k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
18.4E
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
18.4E
        }
570
7.58k
    }
571
572
7.58k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
7.58k
    _rows_returned_counter =
577
7.58k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
7.58k
    _blocks_returned_counter =
579
7.58k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
7.58k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
7.58k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
7.58k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
7.58k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
7.58k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
7.58k
    _memory_used_counter =
586
7.58k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
7.58k
    _common_profile->add_info_string("IsColocate",
588
7.58k
                                     std::to_string(_parent->is_colocated_operator()));
589
7.58k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
7.58k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
7.58k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
7.58k
    return Status::OK();
593
7.58k
}
_ZN5doris19PipelineXLocalStateINS_19AnalyticSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
9.00k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
9.00k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
9.00k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
9.00k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
9.00k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
9.00k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
9.00k
    _operator_profile->add_child(_common_profile.get(), true);
543
9.00k
    _operator_profile->add_child(_custom_profile.get(), true);
544
9.00k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
9.00k
    if constexpr (!is_fake_shared) {
546
9.00k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
9.00k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
8.93k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
8.93k
            _dependency = _shared_state->create_source_dependency(
562
8.93k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
8.93k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
8.93k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
8.93k
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
75
        }
570
9.00k
    }
571
572
9.00k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
9.00k
    _rows_returned_counter =
577
9.00k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
9.00k
    _blocks_returned_counter =
579
9.00k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
9.00k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
9.00k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
9.00k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
9.00k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
9.00k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
9.00k
    _memory_used_counter =
586
9.00k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
9.00k
    _common_profile->add_info_string("IsColocate",
588
9.00k
                                     std::to_string(_parent->is_colocated_operator()));
589
9.00k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
9.00k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
9.00k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
9.00k
    return Status::OK();
593
9.00k
}
_ZN5doris19PipelineXLocalStateINS_14AggSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
135k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
135k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
135k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
135k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
135k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
135k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
135k
    _operator_profile->add_child(_common_profile.get(), true);
543
135k
    _operator_profile->add_child(_custom_profile.get(), true);
544
135k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
135k
    if constexpr (!is_fake_shared) {
546
135k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
135k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
133k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
133k
            _dependency = _shared_state->create_source_dependency(
562
133k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
133k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
133k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
133k
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
1.83k
        }
570
135k
    }
571
572
135k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
135k
    _rows_returned_counter =
577
135k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
135k
    _blocks_returned_counter =
579
135k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
135k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
135k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
135k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
135k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
135k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
135k
    _memory_used_counter =
586
135k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
135k
    _common_profile->add_info_string("IsColocate",
588
135k
                                     std::to_string(_parent->is_colocated_operator()));
589
135k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
135k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
135k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
135k
    return Status::OK();
593
135k
}
_ZN5doris19PipelineXLocalStateINS_25PartitionedAggSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
359
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
359
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
359
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
359
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
359
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
359
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
359
    _operator_profile->add_child(_common_profile.get(), true);
543
359
    _operator_profile->add_child(_custom_profile.get(), true);
544
359
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
359
    if constexpr (!is_fake_shared) {
546
359
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
359
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
359
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
359
            _dependency = _shared_state->create_source_dependency(
562
359
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
359
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
359
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
359
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
0
        }
570
359
    }
571
572
359
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
359
    _rows_returned_counter =
577
359
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
359
    _blocks_returned_counter =
579
359
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
359
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
359
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
359
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
359
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
359
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
359
    _memory_used_counter =
586
359
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
359
    _common_profile->add_info_string("IsColocate",
588
359
                                     std::to_string(_parent->is_colocated_operator()));
589
359
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
359
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
359
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
359
    return Status::OK();
593
359
}
_ZN5doris19PipelineXLocalStateINS_15FakeSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
1.47M
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
1.47M
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
1.47M
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
1.47M
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
1.47M
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
1.47M
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
1.47M
    _operator_profile->add_child(_common_profile.get(), true);
543
1.47M
    _operator_profile->add_child(_custom_profile.get(), true);
544
1.47M
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
    if constexpr (!is_fake_shared) {
546
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
                                    .first.get()
549
                                    ->template cast<SharedStateArg>();
550
551
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
            _dependency = _shared_state->create_source_dependency(
562
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
        }
570
    }
571
572
1.47M
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
1.47M
    _rows_returned_counter =
577
1.47M
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
1.47M
    _blocks_returned_counter =
579
1.47M
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
1.47M
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
1.47M
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
1.47M
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
1.47M
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
1.47M
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
1.47M
    _memory_used_counter =
586
1.47M
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
1.47M
    _common_profile->add_info_string("IsColocate",
588
1.47M
                                     std::to_string(_parent->is_colocated_operator()));
589
1.47M
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
1.47M
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
1.47M
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
1.47M
    return Status::OK();
593
1.47M
}
_ZN5doris19PipelineXLocalStateINS_16UnionSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
41.8k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
41.8k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
41.8k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
41.8k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
41.8k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
41.8k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
41.8k
    _operator_profile->add_child(_common_profile.get(), true);
543
41.8k
    _operator_profile->add_child(_custom_profile.get(), true);
544
41.8k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
41.8k
    if constexpr (!is_fake_shared) {
546
41.8k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
41.8k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
3.80k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
3.80k
            _dependency = _shared_state->create_source_dependency(
562
3.80k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
3.80k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
3.80k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
38.0k
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
38.0k
        }
570
41.8k
    }
571
572
41.8k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
41.8k
    _rows_returned_counter =
577
41.8k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
41.8k
    _blocks_returned_counter =
579
41.8k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
41.8k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
41.8k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
41.8k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
41.8k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
41.8k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
41.8k
    _memory_used_counter =
586
41.8k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
41.8k
    _common_profile->add_info_string("IsColocate",
588
41.8k
                                     std::to_string(_parent->is_colocated_operator()));
589
41.8k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
41.8k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
41.8k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
41.8k
    return Status::OK();
593
41.8k
}
_ZN5doris19PipelineXLocalStateINS_20DataQueueSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
369
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
369
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
369
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
369
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
369
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
369
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
369
    _operator_profile->add_child(_common_profile.get(), true);
543
369
    _operator_profile->add_child(_custom_profile.get(), true);
544
369
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
369
    if constexpr (!is_fake_shared) {
546
369
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
369
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
369
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
369
            _dependency = _shared_state->create_source_dependency(
562
369
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
369
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
369
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
369
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
0
        }
570
369
    }
571
572
369
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
369
    _rows_returned_counter =
577
369
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
369
    _blocks_returned_counter =
579
369
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
369
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
369
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
369
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
369
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
369
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
369
    _memory_used_counter =
586
369
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
369
    _common_profile->add_info_string("IsColocate",
588
369
                                     std::to_string(_parent->is_colocated_operator()));
589
369
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
369
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
369
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
369
    return Status::OK();
593
369
}
_ZN5doris19PipelineXLocalStateINS_20MultiCastSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
8.89k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
8.89k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
8.89k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
8.89k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
8.89k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
8.89k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
8.89k
    _operator_profile->add_child(_common_profile.get(), true);
543
8.89k
    _operator_profile->add_child(_custom_profile.get(), true);
544
8.89k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
8.89k
    if constexpr (!is_fake_shared) {
546
8.89k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
8.89k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
8.88k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
8.88k
            _dependency = _shared_state->create_source_dependency(
562
8.88k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
8.88k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
8.88k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
8.88k
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
9
        }
570
8.89k
    }
571
572
8.89k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
8.89k
    _rows_returned_counter =
577
8.89k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
8.89k
    _blocks_returned_counter =
579
8.89k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
8.89k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
8.89k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
8.89k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
8.89k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
8.89k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
8.89k
    _memory_used_counter =
586
8.89k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
8.89k
    _common_profile->add_info_string("IsColocate",
588
8.89k
                                     std::to_string(_parent->is_colocated_operator()));
589
8.89k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
8.89k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
8.89k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
8.89k
    return Status::OK();
593
8.89k
}
_ZN5doris19PipelineXLocalStateINS_28PartitionSortNodeSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
485
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
485
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
485
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
485
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
485
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
485
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
485
    _operator_profile->add_child(_common_profile.get(), true);
543
485
    _operator_profile->add_child(_custom_profile.get(), true);
544
485
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
485
    if constexpr (!is_fake_shared) {
546
485
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
485
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
484
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
484
            _dependency = _shared_state->create_source_dependency(
562
484
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
484
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
484
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
484
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
1
        }
570
485
    }
571
572
485
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
485
    _rows_returned_counter =
577
485
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
485
    _blocks_returned_counter =
579
485
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
485
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
485
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
485
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
485
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
485
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
485
    _memory_used_counter =
586
485
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
485
    _common_profile->add_info_string("IsColocate",
588
485
                                     std::to_string(_parent->is_colocated_operator()));
589
485
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
485
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
485
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
485
    return Status::OK();
593
485
}
_ZN5doris19PipelineXLocalStateINS_14SetSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
4.84k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
4.84k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
4.84k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
4.84k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
4.84k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
4.84k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
4.84k
    _operator_profile->add_child(_common_profile.get(), true);
543
4.84k
    _operator_profile->add_child(_custom_profile.get(), true);
544
4.84k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
4.84k
    if constexpr (!is_fake_shared) {
546
4.84k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
4.84k
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
4.57k
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
4.57k
            _dependency = _shared_state->create_source_dependency(
562
4.57k
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
4.57k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
4.57k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
4.57k
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
267
        }
570
4.84k
    }
571
572
4.84k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
4.84k
    _rows_returned_counter =
577
4.84k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
4.84k
    _blocks_returned_counter =
579
4.84k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
4.84k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
4.84k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
4.84k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
4.84k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
4.84k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
4.84k
    _memory_used_counter =
586
4.84k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
4.84k
    _common_profile->add_info_string("IsColocate",
588
4.84k
                                     std::to_string(_parent->is_colocated_operator()));
589
4.84k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
4.84k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
4.84k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
4.84k
    return Status::OK();
593
4.84k
}
_ZN5doris19PipelineXLocalStateINS_24LocalExchangeSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
885k
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
885k
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
885k
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
885k
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
885k
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
885k
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
885k
    _operator_profile->add_child(_common_profile.get(), true);
543
885k
    _operator_profile->add_child(_custom_profile.get(), true);
544
885k
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
885k
    if constexpr (!is_fake_shared) {
546
885k
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
883k
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
883k
                                    .first.get()
549
883k
                                    ->template cast<SharedStateArg>();
550
551
883k
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
883k
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
883k
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
883k
        } else if (info.shared_state) {
555
0
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
0
                DCHECK(false);
557
0
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
0
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
0
            _dependency = _shared_state->create_source_dependency(
562
0
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
1.80k
        } else {
566
1.80k
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
1.80k
                DCHECK(false);
568
1.80k
            }
569
1.80k
        }
570
885k
    }
571
572
885k
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
885k
    _rows_returned_counter =
577
885k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
885k
    _blocks_returned_counter =
579
885k
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
885k
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
885k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
885k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
885k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
885k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
885k
    _memory_used_counter =
586
885k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
885k
    _common_profile->add_info_string("IsColocate",
588
885k
                                     std::to_string(_parent->is_colocated_operator()));
589
885k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
885k
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
885k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
885k
    return Status::OK();
593
885k
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_16BasicSharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
_ZN5doris19PipelineXLocalStateINS_17RecCTESharedStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE
Line
Count
Source
534
150
Status PipelineXLocalState<SharedStateArg>::init(RuntimeState* state, LocalStateInfo& info) {
535
150
    _operator_profile.reset(new RuntimeProfile(_parent->get_name() + name_suffix()));
536
150
    _common_profile.reset(new RuntimeProfile("CommonCounters"));
537
150
    _custom_profile.reset(new RuntimeProfile("CustomCounters"));
538
150
    _operator_profile->set_metadata(_parent->node_id());
539
    // indent is false so that source operator will have same
540
    // indentation_level with its parent operator.
541
150
    info.parent_profile->add_child(_operator_profile.get(), /*indent=*/false);
542
150
    _operator_profile->add_child(_common_profile.get(), true);
543
150
    _operator_profile->add_child(_custom_profile.get(), true);
544
150
    constexpr auto is_fake_shared = std::is_same_v<SharedStateArg, FakeSharedState>;
545
150
    if constexpr (!is_fake_shared) {
546
150
        if (info.shared_state_map.find(_parent->operator_id()) != info.shared_state_map.end()) {
547
0
            _shared_state = info.shared_state_map.at(_parent->operator_id())
548
0
                                    .first.get()
549
0
                                    ->template cast<SharedStateArg>();
550
551
0
            _dependency = _shared_state->get_dep_by_channel_id(info.task_idx).front().get();
552
0
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
553
0
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
554
150
        } else if (info.shared_state) {
555
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
556
                DCHECK(false);
557
            }
558
            // For UnionSourceOperator without children, there is no shared state.
559
150
            _shared_state = info.shared_state->template cast<SharedStateArg>();
560
561
150
            _dependency = _shared_state->create_source_dependency(
562
150
                    _parent->operator_id(), _parent->node_id(), _parent->get_name());
563
150
            _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
564
150
                    _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
565
150
        } else {
566
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedStateArg>) {
567
                DCHECK(false);
568
            }
569
0
        }
570
150
    }
571
572
150
    if (must_set_shared_state() && _shared_state == nullptr) {
573
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
574
0
    }
575
576
150
    _rows_returned_counter =
577
150
            ADD_COUNTER_WITH_LEVEL(_common_profile, "RowsProduced", TUnit::UNIT, 1);
578
150
    _blocks_returned_counter =
579
150
            ADD_COUNTER_WITH_LEVEL(_common_profile, "BlocksProduced", TUnit::UNIT, 1);
580
150
    _projection_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ProjectionTime", 2);
581
150
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
582
150
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
583
150
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
584
150
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
585
150
    _memory_used_counter =
586
150
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
587
150
    _common_profile->add_info_string("IsColocate",
588
150
                                     std::to_string(_parent->is_colocated_operator()));
589
150
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
590
150
    _common_profile->add_info_string("FollowedByShuffledOperator",
591
150
                                     std::to_string(_parent->followed_by_shuffled_operator()));
592
150
    return Status::OK();
593
150
}
594
595
template <typename SharedStateArg>
596
2.96M
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
2.96M
    _conjuncts.resize(_parent->_conjuncts.size());
598
2.96M
    _projections.resize(_parent->_projections.size());
599
3.38M
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
420k
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
420k
    }
602
5.91M
    for (size_t i = 0; i < _projections.size(); i++) {
603
2.94M
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
2.94M
    }
605
2.96M
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
2.96M
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
5.03k
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
32.6k
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
27.6k
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
27.6k
                    state, _intermediate_projections[i][j]));
611
27.6k
        }
612
5.03k
    }
613
2.96M
    return Status::OK();
614
2.96M
}
_ZN5doris19PipelineXLocalStateINS_19HashJoinSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
137k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
137k
    _conjuncts.resize(_parent->_conjuncts.size());
598
137k
    _projections.resize(_parent->_projections.size());
599
138k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
1.34k
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
1.34k
    }
602
731k
    for (size_t i = 0; i < _projections.size(); i++) {
603
594k
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
594k
    }
605
137k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
137k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
434
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
3.53k
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
3.09k
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
3.09k
                    state, _intermediate_projections[i][j]));
611
3.09k
        }
612
434
    }
613
137k
    return Status::OK();
614
137k
}
_ZN5doris19PipelineXLocalStateINS_30PartitionedHashJoinSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
1
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
1
    _conjuncts.resize(_parent->_conjuncts.size());
598
1
    _projections.resize(_parent->_projections.size());
599
1
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
1
    for (size_t i = 0; i < _projections.size(); i++) {
603
0
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
0
    }
605
1
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
1
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
1
    return Status::OK();
614
1
}
_ZN5doris19PipelineXLocalStateINS_15SortSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
243k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
243k
    _conjuncts.resize(_parent->_conjuncts.size());
598
243k
    _projections.resize(_parent->_projections.size());
599
243k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
263k
    for (size_t i = 0; i < _projections.size(); i++) {
603
19.4k
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
19.4k
    }
605
243k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
243k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
243k
    return Status::OK();
614
243k
}
_ZN5doris19PipelineXLocalStateINS_20SpillSortSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
16
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
16
    _conjuncts.resize(_parent->_conjuncts.size());
598
16
    _projections.resize(_parent->_projections.size());
599
16
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
16
    for (size_t i = 0; i < _projections.size(); i++) {
603
0
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
0
    }
605
16
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
16
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
16
    return Status::OK();
614
16
}
_ZN5doris19PipelineXLocalStateINS_25NestedLoopJoinSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
7.61k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
7.61k
    _conjuncts.resize(_parent->_conjuncts.size());
598
7.61k
    _projections.resize(_parent->_projections.size());
599
7.66k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
49
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
49
    }
602
43.4k
    for (size_t i = 0; i < _projections.size(); i++) {
603
35.7k
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
35.7k
    }
605
7.61k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
7.63k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
11
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
120
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
109
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
109
                    state, _intermediate_projections[i][j]));
611
109
        }
612
11
    }
613
7.61k
    return Status::OK();
614
7.61k
}
_ZN5doris19PipelineXLocalStateINS_19AnalyticSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
9.08k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
9.08k
    _conjuncts.resize(_parent->_conjuncts.size());
598
9.08k
    _projections.resize(_parent->_projections.size());
599
9.96k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
873
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
873
    }
602
23.9k
    for (size_t i = 0; i < _projections.size(); i++) {
603
14.8k
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
14.8k
    }
605
9.08k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
9.25k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
169
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
1.27k
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
1.10k
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
1.10k
                    state, _intermediate_projections[i][j]));
611
1.10k
        }
612
169
    }
613
9.08k
    return Status::OK();
614
9.08k
}
_ZN5doris19PipelineXLocalStateINS_14AggSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
136k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
136k
    _conjuncts.resize(_parent->_conjuncts.size());
598
136k
    _projections.resize(_parent->_projections.size());
599
139k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
3.31k
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
3.31k
    }
602
469k
    for (size_t i = 0; i < _projections.size(); i++) {
603
333k
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
333k
    }
605
136k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
136k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
265
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
1.98k
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
1.72k
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
1.72k
                    state, _intermediate_projections[i][j]));
611
1.72k
        }
612
265
    }
613
136k
    return Status::OK();
614
136k
}
_ZN5doris19PipelineXLocalStateINS_25PartitionedAggSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
363
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
363
    _conjuncts.resize(_parent->_conjuncts.size());
598
363
    _projections.resize(_parent->_projections.size());
599
363
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
905
    for (size_t i = 0; i < _projections.size(); i++) {
603
542
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
542
    }
605
363
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
363
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
363
    return Status::OK();
614
363
}
_ZN5doris19PipelineXLocalStateINS_15FakeSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
1.48M
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
1.48M
    _conjuncts.resize(_parent->_conjuncts.size());
598
1.48M
    _projections.resize(_parent->_projections.size());
599
1.89M
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
413k
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
413k
    }
602
3.33M
    for (size_t i = 0; i < _projections.size(); i++) {
603
1.85M
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
1.85M
    }
605
1.48M
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
1.48M
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
4.15k
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
25.7k
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
21.6k
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
21.6k
                    state, _intermediate_projections[i][j]));
611
21.6k
        }
612
4.15k
    }
613
1.48M
    return Status::OK();
614
1.48M
}
_ZN5doris19PipelineXLocalStateINS_16UnionSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
41.9k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
41.9k
    _conjuncts.resize(_parent->_conjuncts.size());
598
41.9k
    _projections.resize(_parent->_projections.size());
599
41.9k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
139k
    for (size_t i = 0; i < _projections.size(); i++) {
603
97.2k
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
97.2k
    }
605
41.9k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
41.9k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
41.9k
    return Status::OK();
614
41.9k
}
_ZN5doris19PipelineXLocalStateINS_20DataQueueSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
369
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
369
    _conjuncts.resize(_parent->_conjuncts.size());
598
369
    _projections.resize(_parent->_projections.size());
599
369
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
369
    for (size_t i = 0; i < _projections.size(); i++) {
603
0
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
0
    }
605
369
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
369
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
369
    return Status::OK();
614
369
}
_ZN5doris19PipelineXLocalStateINS_20MultiCastSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
8.89k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
8.89k
    _conjuncts.resize(_parent->_conjuncts.size());
598
8.89k
    _projections.resize(_parent->_projections.size());
599
10.5k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
1.64k
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
1.64k
    }
602
8.89k
    for (size_t i = 0; i < _projections.size(); i++) {
603
0
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
0
    }
605
8.89k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
8.89k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
8.89k
    return Status::OK();
614
8.89k
}
_ZN5doris19PipelineXLocalStateINS_28PartitionSortNodeSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
485
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
485
    _conjuncts.resize(_parent->_conjuncts.size());
598
485
    _projections.resize(_parent->_projections.size());
599
485
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
485
    for (size_t i = 0; i < _projections.size(); i++) {
603
0
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
0
    }
605
485
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
485
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
485
    return Status::OK();
614
485
}
_ZN5doris19PipelineXLocalStateINS_14SetSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
4.92k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
4.92k
    _conjuncts.resize(_parent->_conjuncts.size());
598
4.92k
    _projections.resize(_parent->_projections.size());
599
4.92k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
4.95k
    for (size_t i = 0; i < _projections.size(); i++) {
603
32
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
32
    }
605
4.92k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
4.92k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
4.92k
    return Status::OK();
614
4.92k
}
_ZN5doris19PipelineXLocalStateINS_24LocalExchangeSharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
888k
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
888k
    _conjuncts.resize(_parent->_conjuncts.size());
598
888k
    _projections.resize(_parent->_projections.size());
599
888k
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
0
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
0
    }
602
888k
    for (size_t i = 0; i < _projections.size(); i++) {
603
0
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
0
    }
605
888k
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
888k
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
0
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
0
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
0
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
0
                    state, _intermediate_projections[i][j]));
611
0
        }
612
0
    }
613
888k
    return Status::OK();
614
888k
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_16BasicSharedStateEE4openEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_17RecCTESharedStateEE4openEPNS_12RuntimeStateE
Line
Count
Source
596
150
Status PipelineXLocalState<SharedStateArg>::open(RuntimeState* state) {
597
150
    _conjuncts.resize(_parent->_conjuncts.size());
598
150
    _projections.resize(_parent->_projections.size());
599
157
    for (size_t i = 0; i < _conjuncts.size(); i++) {
600
7
        RETURN_IF_ERROR(_parent->_conjuncts[i]->clone(state, _conjuncts[i]));
601
7
    }
602
443
    for (size_t i = 0; i < _projections.size(); i++) {
603
293
        RETURN_IF_ERROR(_parent->_projections[i]->clone(state, _projections[i]));
604
293
    }
605
150
    _intermediate_projections.resize(_parent->_intermediate_projections.size());
606
151
    for (int i = 0; i < _parent->_intermediate_projections.size(); i++) {
607
1
        _intermediate_projections[i].resize(_parent->_intermediate_projections[i].size());
608
3
        for (int j = 0; j < _parent->_intermediate_projections[i].size(); j++) {
609
2
            RETURN_IF_ERROR(_parent->_intermediate_projections[i][j]->clone(
610
2
                    state, _intermediate_projections[i][j]));
611
2
        }
612
1
    }
613
150
    return Status::OK();
614
150
}
615
616
template <typename SharedStateArg>
617
7.56k
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
7.56k
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
7.56k
    _terminated = true;
622
7.56k
    return Status::OK();
623
7.56k
}
_ZN5doris19PipelineXLocalStateINS_19HashJoinSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
410
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
410
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
410
    _terminated = true;
622
410
    return Status::OK();
623
410
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_30PartitionedHashJoinSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_15SortSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
210
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
210
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
210
    _terminated = true;
622
210
    return Status::OK();
623
210
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_20SpillSortSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_25NestedLoopJoinSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
58
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
58
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
58
    _terminated = true;
622
58
    return Status::OK();
623
58
}
_ZN5doris19PipelineXLocalStateINS_19AnalyticSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
2
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
2
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
2
    _terminated = true;
622
2
    return Status::OK();
623
2
}
_ZN5doris19PipelineXLocalStateINS_14AggSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
1.21k
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
1.21k
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
1.21k
    _terminated = true;
622
1.21k
    return Status::OK();
623
1.21k
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_25PartitionedAggSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_15FakeSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
4.54k
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
4.54k
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
4.54k
    _terminated = true;
622
4.54k
    return Status::OK();
623
4.54k
}
_ZN5doris19PipelineXLocalStateINS_16UnionSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
4
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
4
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
4
    _terminated = true;
622
4
    return Status::OK();
623
4
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_20DataQueueSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_20MultiCastSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
21
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
21
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
21
    _terminated = true;
622
21
    return Status::OK();
623
21
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_28PartitionSortNodeSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_14SetSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
172
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
172
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
172
    _terminated = true;
622
172
    return Status::OK();
623
172
}
_ZN5doris19PipelineXLocalStateINS_24LocalExchangeSharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
912
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
912
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
912
    _terminated = true;
622
912
    return Status::OK();
623
912
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_16BasicSharedStateEE9terminateEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_17RecCTESharedStateEE9terminateEPNS_12RuntimeStateE
Line
Count
Source
617
18
Status PipelineXLocalState<SharedStateArg>::terminate(RuntimeState* state) {
618
18
    if (_terminated) {
619
0
        return Status::OK();
620
0
    }
621
18
    _terminated = true;
622
18
    return Status::OK();
623
18
}
624
625
template <typename SharedStateArg>
626
3.23M
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
3.23M
    if (_closed) {
628
274k
        return Status::OK();
629
274k
    }
630
2.96M
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
1.47M
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
1.47M
    }
633
2.96M
    _closed = true;
634
2.96M
    return Status::OK();
635
3.23M
}
_ZN5doris19PipelineXLocalStateINS_19HashJoinSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
137k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
137k
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
137k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
137k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
137k
    }
633
137k
    _closed = true;
634
137k
    return Status::OK();
635
137k
}
_ZN5doris19PipelineXLocalStateINS_30PartitionedHashJoinSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
1
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
1
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
1
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
1
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
1
    }
633
1
    _closed = true;
634
1
    return Status::OK();
635
1
}
_ZN5doris19PipelineXLocalStateINS_15SortSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
485k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
485k
    if (_closed) {
628
242k
        return Status::OK();
629
242k
    }
630
242k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
242k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
242k
    }
633
242k
    _closed = true;
634
242k
    return Status::OK();
635
485k
}
_ZN5doris19PipelineXLocalStateINS_20SpillSortSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
16
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
16
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
16
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
16
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
16
    }
633
16
    _closed = true;
634
16
    return Status::OK();
635
16
}
_ZN5doris19PipelineXLocalStateINS_25NestedLoopJoinSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
7.61k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
7.61k
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
7.61k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
7.61k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
7.61k
    }
633
7.61k
    _closed = true;
634
7.61k
    return Status::OK();
635
7.61k
}
_ZN5doris19PipelineXLocalStateINS_19AnalyticSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
18.3k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
18.3k
    if (_closed) {
628
9.26k
        return Status::OK();
629
9.26k
    }
630
9.05k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
9.05k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
9.05k
    }
633
9.05k
    _closed = true;
634
9.05k
    return Status::OK();
635
18.3k
}
_ZN5doris19PipelineXLocalStateINS_14AggSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
135k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
135k
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
135k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
135k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
135k
    }
633
135k
    _closed = true;
634
135k
    return Status::OK();
635
135k
}
_ZN5doris19PipelineXLocalStateINS_25PartitionedAggSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
356
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
356
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
356
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
356
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
356
    }
633
356
    _closed = true;
634
356
    return Status::OK();
635
356
}
_ZN5doris19PipelineXLocalStateINS_15FakeSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
1.50M
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
1.50M
    if (_closed) {
628
16.9k
        return Status::OK();
629
16.9k
    }
630
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
    }
633
1.48M
    _closed = true;
634
1.48M
    return Status::OK();
635
1.50M
}
_ZN5doris19PipelineXLocalStateINS_16UnionSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
41.9k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
41.9k
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
41.9k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
41.9k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
41.9k
    }
633
41.9k
    _closed = true;
634
41.9k
    return Status::OK();
635
41.9k
}
_ZN5doris19PipelineXLocalStateINS_20DataQueueSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
731
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
731
    if (_closed) {
628
366
        return Status::OK();
629
366
    }
630
365
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
365
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
365
    }
633
365
    _closed = true;
634
365
    return Status::OK();
635
731
}
_ZN5doris19PipelineXLocalStateINS_20MultiCastSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
8.85k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
8.85k
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
8.85k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
8.85k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
8.85k
    }
633
8.85k
    _closed = true;
634
8.85k
    return Status::OK();
635
8.85k
}
_ZN5doris19PipelineXLocalStateINS_28PartitionSortNodeSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
765
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
765
    if (_closed) {
628
383
        return Status::OK();
629
383
    }
630
382
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
382
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
382
    }
633
382
    _closed = true;
634
382
    return Status::OK();
635
765
}
_ZN5doris19PipelineXLocalStateINS_14SetSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
9.86k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
9.86k
    if (_closed) {
628
4.94k
        return Status::OK();
629
4.94k
    }
630
4.91k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
4.91k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
4.91k
    }
633
4.91k
    _closed = true;
634
4.91k
    return Status::OK();
635
9.86k
}
_ZN5doris19PipelineXLocalStateINS_24LocalExchangeSharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
890k
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
890k
    if (_closed) {
628
0
        return Status::OK();
629
0
    }
630
890k
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
890k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
890k
    }
633
890k
    _closed = true;
634
890k
    return Status::OK();
635
890k
}
Unexecuted instantiation: _ZN5doris19PipelineXLocalStateINS_16BasicSharedStateEE5closeEPNS_12RuntimeStateE
_ZN5doris19PipelineXLocalStateINS_17RecCTESharedStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
626
305
Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) {
627
305
    if (_closed) {
628
156
        return Status::OK();
629
156
    }
630
149
    if constexpr (!std::is_same_v<SharedStateArg, FakeSharedState>) {
631
149
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
632
149
    }
633
149
    _closed = true;
634
149
    return Status::OK();
635
305
}
636
637
template <typename SharedState>
638
2.25M
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
2.25M
    _operator_profile =
641
2.25M
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
2.25M
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
2.25M
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
2.25M
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
2.25M
    _operator_profile->add_child(_common_profile, true);
650
2.25M
    _operator_profile->add_child(_custom_profile, true);
651
652
2.25M
    _operator_profile->set_metadata(_parent->node_id());
653
2.25M
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
2.25M
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
2.25M
    if constexpr (!is_fake_shared) {
656
1.54M
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
1.54M
            info.shared_state_map.end()) {
658
423k
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
408k
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
408k
            }
661
423k
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
423k
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
423k
                                                  ? 0
664
423k
                                                  : info.task_idx]
665
423k
                                  .get();
666
423k
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
1.11M
        } else {
668
1.11M
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
2
                DCHECK(false);
670
2
            }
671
1.11M
            _shared_state = info.shared_state->template cast<SharedState>();
672
1.11M
            _dependency = _shared_state->create_sink_dependency(
673
1.11M
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
1.11M
        }
675
1.54M
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
1.54M
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
1.54M
    }
678
679
2.25M
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
2.25M
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
2.25M
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
2.25M
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
2.25M
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
2.25M
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
2.25M
    _memory_used_counter =
689
2.25M
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
2.25M
    _common_profile->add_info_string("IsColocate",
691
2.25M
                                     std::to_string(_parent->is_colocated_operator()));
692
2.25M
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
2.25M
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
2.25M
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
2.25M
    return Status::OK();
696
2.25M
}
_ZN5doris23PipelineXSinkLocalStateINS_19HashJoinSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
185k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
185k
    _operator_profile =
641
185k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
185k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
185k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
185k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
185k
    _operator_profile->add_child(_common_profile, true);
650
185k
    _operator_profile->add_child(_custom_profile, true);
651
652
185k
    _operator_profile->set_metadata(_parent->node_id());
653
185k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
185k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
185k
    if constexpr (!is_fake_shared) {
656
185k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
185k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
14.3k
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
14.3k
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
14.3k
                                                  ? 0
664
14.3k
                                                  : info.task_idx]
665
14.3k
                                  .get();
666
14.3k
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
171k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
171k
            _shared_state = info.shared_state->template cast<SharedState>();
672
171k
            _dependency = _shared_state->create_sink_dependency(
673
171k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
171k
        }
675
185k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
185k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
185k
    }
678
679
185k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
185k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
185k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
185k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
185k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
185k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
185k
    _memory_used_counter =
689
185k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
185k
    _common_profile->add_info_string("IsColocate",
691
185k
                                     std::to_string(_parent->is_colocated_operator()));
692
185k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
185k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
185k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
185k
    return Status::OK();
696
185k
}
_ZN5doris23PipelineXSinkLocalStateINS_30PartitionedHashJoinSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
2
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
2
    _operator_profile =
641
2
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
2
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
2
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
2
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
2
    _operator_profile->add_child(_common_profile, true);
650
2
    _operator_profile->add_child(_custom_profile, true);
651
652
2
    _operator_profile->set_metadata(_parent->node_id());
653
2
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
2
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
2
    if constexpr (!is_fake_shared) {
656
2
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
2
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
2
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
2
            _shared_state = info.shared_state->template cast<SharedState>();
672
2
            _dependency = _shared_state->create_sink_dependency(
673
2
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
2
        }
675
2
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
2
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
2
    }
678
679
2
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
2
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
2
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
2
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
2
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
2
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
2
    _memory_used_counter =
689
2
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
2
    _common_profile->add_info_string("IsColocate",
691
2
                                     std::to_string(_parent->is_colocated_operator()));
692
2
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
2
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
2
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
2
    return Status::OK();
696
2
}
_ZN5doris23PipelineXSinkLocalStateINS_15SortSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
243k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
243k
    _operator_profile =
641
243k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
243k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
243k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
243k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
243k
    _operator_profile->add_child(_common_profile, true);
650
243k
    _operator_profile->add_child(_custom_profile, true);
651
652
243k
    _operator_profile->set_metadata(_parent->node_id());
653
243k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
243k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
243k
    if constexpr (!is_fake_shared) {
656
243k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
243k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
243k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
243k
            _shared_state = info.shared_state->template cast<SharedState>();
672
243k
            _dependency = _shared_state->create_sink_dependency(
673
243k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
243k
        }
675
243k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
243k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
243k
    }
678
679
243k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
243k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
243k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
243k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
243k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
243k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
243k
    _memory_used_counter =
689
243k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
243k
    _common_profile->add_info_string("IsColocate",
691
243k
                                     std::to_string(_parent->is_colocated_operator()));
692
243k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
243k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
243k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
243k
    return Status::OK();
696
243k
}
_ZN5doris23PipelineXSinkLocalStateINS_20SpillSortSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
19
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
19
    _operator_profile =
641
19
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
19
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
19
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
19
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
19
    _operator_profile->add_child(_common_profile, true);
650
19
    _operator_profile->add_child(_custom_profile, true);
651
652
19
    _operator_profile->set_metadata(_parent->node_id());
653
19
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
19
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
19
    if constexpr (!is_fake_shared) {
656
19
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
19
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
19
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
19
            _shared_state = info.shared_state->template cast<SharedState>();
672
19
            _dependency = _shared_state->create_sink_dependency(
673
19
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
19
        }
675
19
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
19
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
19
    }
678
679
19
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
19
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
19
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
19
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
19
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
19
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
19
    _memory_used_counter =
689
19
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
19
    _common_profile->add_info_string("IsColocate",
691
19
                                     std::to_string(_parent->is_colocated_operator()));
692
19
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
19
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
19
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
19
    return Status::OK();
696
19
}
_ZN5doris23PipelineXSinkLocalStateINS_25NestedLoopJoinSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
7.62k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
7.62k
    _operator_profile =
641
7.62k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
7.62k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
7.62k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
7.62k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
7.62k
    _operator_profile->add_child(_common_profile, true);
650
7.62k
    _operator_profile->add_child(_custom_profile, true);
651
652
7.62k
    _operator_profile->set_metadata(_parent->node_id());
653
7.62k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
7.62k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
7.62k
    if constexpr (!is_fake_shared) {
656
7.62k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
7.62k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
7.62k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
7.62k
            _shared_state = info.shared_state->template cast<SharedState>();
672
7.62k
            _dependency = _shared_state->create_sink_dependency(
673
7.62k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
7.62k
        }
675
7.62k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
7.62k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
7.62k
    }
678
679
7.62k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
7.62k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
7.62k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
7.62k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
7.62k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
7.62k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
7.62k
    _memory_used_counter =
689
7.62k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
7.62k
    _common_profile->add_info_string("IsColocate",
691
7.62k
                                     std::to_string(_parent->is_colocated_operator()));
692
7.62k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
7.62k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
7.62k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
7.62k
    return Status::OK();
696
7.62k
}
_ZN5doris23PipelineXSinkLocalStateINS_19AnalyticSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
9.08k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
9.08k
    _operator_profile =
641
9.08k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
9.08k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
9.08k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
9.08k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
9.08k
    _operator_profile->add_child(_common_profile, true);
650
9.08k
    _operator_profile->add_child(_custom_profile, true);
651
652
9.08k
    _operator_profile->set_metadata(_parent->node_id());
653
9.08k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
9.08k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
9.08k
    if constexpr (!is_fake_shared) {
656
9.08k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
9.08k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
9.08k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
9.08k
            _shared_state = info.shared_state->template cast<SharedState>();
672
9.08k
            _dependency = _shared_state->create_sink_dependency(
673
9.08k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
9.08k
        }
675
9.08k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
9.08k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
9.08k
    }
678
679
9.08k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
9.08k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
9.08k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
9.08k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
9.08k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
9.08k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
9.08k
    _memory_used_counter =
689
9.08k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
9.08k
    _common_profile->add_info_string("IsColocate",
691
9.08k
                                     std::to_string(_parent->is_colocated_operator()));
692
9.08k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
9.08k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
9.08k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
9.08k
    return Status::OK();
696
9.08k
}
_ZN5doris23PipelineXSinkLocalStateINS_14AggSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
136k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
136k
    _operator_profile =
641
136k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
136k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
136k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
136k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
136k
    _operator_profile->add_child(_common_profile, true);
650
136k
    _operator_profile->add_child(_custom_profile, true);
651
652
136k
    _operator_profile->set_metadata(_parent->node_id());
653
136k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
136k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
136k
    if constexpr (!is_fake_shared) {
656
136k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
136k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
136k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
136k
            _shared_state = info.shared_state->template cast<SharedState>();
672
136k
            _dependency = _shared_state->create_sink_dependency(
673
136k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
136k
        }
675
136k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
136k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
136k
    }
678
679
136k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
136k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
136k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
136k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
136k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
136k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
136k
    _memory_used_counter =
689
136k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
136k
    _common_profile->add_info_string("IsColocate",
691
136k
                                     std::to_string(_parent->is_colocated_operator()));
692
136k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
136k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
136k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
136k
    return Status::OK();
696
136k
}
_ZN5doris23PipelineXSinkLocalStateINS_25PartitionedAggSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
365
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
365
    _operator_profile =
641
365
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
365
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
365
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
365
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
365
    _operator_profile->add_child(_common_profile, true);
650
365
    _operator_profile->add_child(_custom_profile, true);
651
652
365
    _operator_profile->set_metadata(_parent->node_id());
653
365
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
365
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
365
    if constexpr (!is_fake_shared) {
656
365
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
365
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
365
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
365
            _shared_state = info.shared_state->template cast<SharedState>();
672
365
            _dependency = _shared_state->create_sink_dependency(
673
365
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
365
        }
675
365
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
365
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
365
    }
678
679
365
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
365
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
365
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
365
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
365
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
365
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
365
    _memory_used_counter =
689
365
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
365
    _common_profile->add_info_string("IsColocate",
691
365
                                     std::to_string(_parent->is_colocated_operator()));
692
365
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
365
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
365
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
365
    return Status::OK();
696
365
}
_ZN5doris23PipelineXSinkLocalStateINS_15FakeSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
719k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
719k
    _operator_profile =
641
719k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
719k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
719k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
719k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
719k
    _operator_profile->add_child(_common_profile, true);
650
719k
    _operator_profile->add_child(_custom_profile, true);
651
652
719k
    _operator_profile->set_metadata(_parent->node_id());
653
719k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
719k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
    if constexpr (!is_fake_shared) {
656
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
                                                  ? 0
664
                                                  : info.task_idx]
665
                                  .get();
666
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
            _shared_state = info.shared_state->template cast<SharedState>();
672
            _dependency = _shared_state->create_sink_dependency(
673
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
        }
675
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
    }
678
679
719k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
719k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
719k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
719k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
719k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
719k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
719k
    _memory_used_counter =
689
719k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
719k
    _common_profile->add_info_string("IsColocate",
691
719k
                                     std::to_string(_parent->is_colocated_operator()));
692
719k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
719k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
719k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
719k
    return Status::OK();
696
719k
}
_ZN5doris23PipelineXSinkLocalStateINS_16UnionSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
8.06k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
8.06k
    _operator_profile =
641
8.06k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
8.06k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
8.06k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
8.06k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
8.06k
    _operator_profile->add_child(_common_profile, true);
650
8.06k
    _operator_profile->add_child(_custom_profile, true);
651
652
8.06k
    _operator_profile->set_metadata(_parent->node_id());
653
8.06k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
8.06k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
8.06k
    if constexpr (!is_fake_shared) {
656
8.06k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
8.06k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
8.06k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
8.06k
            _shared_state = info.shared_state->template cast<SharedState>();
672
8.06k
            _dependency = _shared_state->create_sink_dependency(
673
8.06k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
8.06k
        }
675
8.06k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
8.06k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
8.06k
    }
678
679
8.06k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
8.06k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
8.06k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
8.06k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
8.06k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
8.06k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
8.06k
    _memory_used_counter =
689
8.06k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
8.06k
    _common_profile->add_info_string("IsColocate",
691
8.06k
                                     std::to_string(_parent->is_colocated_operator()));
692
8.06k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
8.06k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
8.06k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
8.06k
    return Status::OK();
696
8.06k
}
_ZN5doris23PipelineXSinkLocalStateINS_28PartitionSortNodeSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
485
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
485
    _operator_profile =
641
485
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
485
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
485
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
485
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
485
    _operator_profile->add_child(_common_profile, true);
650
485
    _operator_profile->add_child(_custom_profile, true);
651
652
485
    _operator_profile->set_metadata(_parent->node_id());
653
485
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
485
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
485
    if constexpr (!is_fake_shared) {
656
485
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
485
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
485
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
485
            _shared_state = info.shared_state->template cast<SharedState>();
672
485
            _dependency = _shared_state->create_sink_dependency(
673
485
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
485
        }
675
485
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
485
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
485
    }
678
679
485
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
485
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
485
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
485
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
485
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
485
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
485
    _memory_used_counter =
689
485
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
485
    _common_profile->add_info_string("IsColocate",
691
485
                                     std::to_string(_parent->is_colocated_operator()));
692
485
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
485
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
485
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
485
    return Status::OK();
696
485
}
_ZN5doris23PipelineXSinkLocalStateINS_20MultiCastSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
3.46k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
3.46k
    _operator_profile =
641
3.46k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
3.46k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
3.46k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
3.46k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
3.46k
    _operator_profile->add_child(_common_profile, true);
650
3.46k
    _operator_profile->add_child(_custom_profile, true);
651
652
3.46k
    _operator_profile->set_metadata(_parent->node_id());
653
3.46k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
3.46k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
3.46k
    if constexpr (!is_fake_shared) {
656
3.46k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
3.46k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
3.46k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
3.46k
            _shared_state = info.shared_state->template cast<SharedState>();
672
3.46k
            _dependency = _shared_state->create_sink_dependency(
673
3.46k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
3.46k
        }
675
3.46k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
3.46k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
3.46k
    }
678
679
3.46k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
3.46k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
3.46k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
3.46k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
3.46k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
3.46k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
3.46k
    _memory_used_counter =
689
3.46k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
3.46k
    _common_profile->add_info_string("IsColocate",
691
3.46k
                                     std::to_string(_parent->is_colocated_operator()));
692
3.46k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
3.46k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
3.46k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
3.46k
    return Status::OK();
696
3.46k
}
_ZN5doris23PipelineXSinkLocalStateINS_14SetSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
12.0k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
12.0k
    _operator_profile =
641
12.0k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
12.0k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
12.0k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
12.0k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
12.0k
    _operator_profile->add_child(_common_profile, true);
650
12.0k
    _operator_profile->add_child(_custom_profile, true);
651
652
12.0k
    _operator_profile->set_metadata(_parent->node_id());
653
12.0k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
12.0k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
12.0k
    if constexpr (!is_fake_shared) {
656
12.0k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
12.0k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
12.0k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
12.0k
            _shared_state = info.shared_state->template cast<SharedState>();
672
12.0k
            _dependency = _shared_state->create_sink_dependency(
673
12.0k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
12.0k
        }
675
12.0k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
12.0k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
12.0k
    }
678
679
12.0k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
12.0k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
12.0k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
12.0k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
12.0k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
12.0k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
12.0k
    _memory_used_counter =
689
12.0k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
12.0k
    _common_profile->add_info_string("IsColocate",
691
12.0k
                                     std::to_string(_parent->is_colocated_operator()));
692
12.0k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
12.0k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
12.0k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
12.0k
    return Status::OK();
696
12.0k
}
_ZN5doris23PipelineXSinkLocalStateINS_24LocalExchangeSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
408k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
408k
    _operator_profile =
641
408k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
408k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
408k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
408k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
408k
    _operator_profile->add_child(_common_profile, true);
650
408k
    _operator_profile->add_child(_custom_profile, true);
651
652
408k
    _operator_profile->set_metadata(_parent->node_id());
653
408k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
408k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
408k
    if constexpr (!is_fake_shared) {
656
408k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
408k
            info.shared_state_map.end()) {
658
408k
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
408k
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
408k
            }
661
408k
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
408k
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
408k
                                                  ? 0
664
408k
                                                  : info.task_idx]
665
408k
                                  .get();
666
408k
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
408k
        } else {
668
2
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
2
                DCHECK(false);
670
2
            }
671
2
            _shared_state = info.shared_state->template cast<SharedState>();
672
2
            _dependency = _shared_state->create_sink_dependency(
673
2
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
2
        }
675
408k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
408k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
408k
    }
678
679
408k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
408k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
408k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
408k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
408k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
408k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
408k
    _memory_used_counter =
689
408k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
408k
    _common_profile->add_info_string("IsColocate",
691
408k
                                     std::to_string(_parent->is_colocated_operator()));
692
408k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
408k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
408k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
408k
    return Status::OK();
696
408k
}
_ZN5doris23PipelineXSinkLocalStateINS_16BasicSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
525k
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
525k
    _operator_profile =
641
525k
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
525k
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
525k
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
525k
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
525k
    _operator_profile->add_child(_common_profile, true);
650
525k
    _operator_profile->add_child(_custom_profile, true);
651
652
525k
    _operator_profile->set_metadata(_parent->node_id());
653
525k
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
525k
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
525k
    if constexpr (!is_fake_shared) {
656
525k
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
525k
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
1.18k
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
1.18k
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
1.18k
                                                  ? 0
664
1.18k
                                                  : info.task_idx]
665
1.18k
                                  .get();
666
1.18k
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
524k
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
524k
            _shared_state = info.shared_state->template cast<SharedState>();
672
524k
            _dependency = _shared_state->create_sink_dependency(
673
524k
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
524k
        }
675
525k
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
525k
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
525k
    }
678
679
525k
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
525k
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
525k
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
525k
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
525k
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
525k
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
525k
    _memory_used_counter =
689
525k
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
525k
    _common_profile->add_info_string("IsColocate",
691
525k
                                     std::to_string(_parent->is_colocated_operator()));
692
525k
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
525k
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
525k
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
525k
    return Status::OK();
696
525k
}
_ZN5doris23PipelineXSinkLocalStateINS_20DataQueueSharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
368
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
368
    _operator_profile =
641
368
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
368
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
368
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
368
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
368
    _operator_profile->add_child(_common_profile, true);
650
368
    _operator_profile->add_child(_custom_profile, true);
651
652
368
    _operator_profile->set_metadata(_parent->node_id());
653
368
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
368
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
368
    if constexpr (!is_fake_shared) {
656
368
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
368
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
368
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
368
            _shared_state = info.shared_state->template cast<SharedState>();
672
368
            _dependency = _shared_state->create_sink_dependency(
673
368
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
368
        }
675
368
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
368
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
368
    }
678
679
369
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
368
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
368
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
368
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
368
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
368
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
368
    _memory_used_counter =
689
368
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
368
    _common_profile->add_info_string("IsColocate",
691
368
                                     std::to_string(_parent->is_colocated_operator()));
692
368
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
368
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
368
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
368
    return Status::OK();
696
368
}
_ZN5doris23PipelineXSinkLocalStateINS_17RecCTESharedStateEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
638
300
Status PipelineXSinkLocalState<SharedState>::init(RuntimeState* state, LocalSinkStateInfo& info) {
639
    // create profile
640
300
    _operator_profile =
641
300
            state->obj_pool()->add(new RuntimeProfile(_parent->get_name() + name_suffix()));
642
300
    _common_profile = state->obj_pool()->add(new RuntimeProfile("CommonCounters"));
643
300
    _custom_profile = state->obj_pool()->add(new RuntimeProfile("CustomCounters"));
644
645
    // indentation is true
646
    // The parent profile of sink operator is usually a RuntimeProfile called PipelineTask.
647
    // So we should set the indentation to true.
648
300
    info.parent_profile->add_child(_operator_profile, /*indent=*/true);
649
300
    _operator_profile->add_child(_common_profile, true);
650
300
    _operator_profile->add_child(_custom_profile, true);
651
652
300
    _operator_profile->set_metadata(_parent->node_id());
653
300
    _wait_for_finish_dependency_timer = ADD_TIMER(_common_profile, "PendingFinishDependency");
654
300
    constexpr auto is_fake_shared = std::is_same_v<SharedState, FakeSharedState>;
655
300
    if constexpr (!is_fake_shared) {
656
300
        if (info.shared_state_map.find(_parent->dests_id().front()) !=
657
300
            info.shared_state_map.end()) {
658
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
659
                DCHECK(info.shared_state_map.at(_parent->dests_id().front()).second.size() == 1);
660
            }
661
0
            _dependency = info.shared_state_map.at(_parent->dests_id().front())
662
0
                                  .second[std::is_same_v<LocalExchangeSharedState, SharedState>
663
0
                                                  ? 0
664
0
                                                  : info.task_idx]
665
0
                                  .get();
666
0
            _shared_state = _dependency->shared_state()->template cast<SharedState>();
667
300
        } else {
668
            if constexpr (std::is_same_v<LocalExchangeSharedState, SharedState>) {
669
                DCHECK(false);
670
            }
671
300
            _shared_state = info.shared_state->template cast<SharedState>();
672
300
            _dependency = _shared_state->create_sink_dependency(
673
300
                    _parent->dests_id().front(), _parent->node_id(), _parent->get_name());
674
300
        }
675
300
        _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
676
300
                _common_profile, "WaitForDependency[" + _dependency->name() + "]Time", 1);
677
300
    }
678
679
300
    if (must_set_shared_state() && _shared_state == nullptr) {
680
0
        return Status::InternalError("must set shared state, in {}", _parent->get_name());
681
0
    }
682
683
300
    _rows_input_counter = ADD_COUNTER_WITH_LEVEL(_common_profile, "InputRows", TUnit::UNIT, 1);
684
300
    _init_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "InitTime", 2);
685
300
    _open_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "OpenTime", 2);
686
300
    _close_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "CloseTime", 2);
687
300
    _exec_timer = ADD_TIMER_WITH_LEVEL(_common_profile, "ExecTime", 1);
688
300
    _memory_used_counter =
689
300
            _common_profile->AddHighWaterMarkCounter("MemoryUsage", TUnit::BYTES, "", 1);
690
300
    _common_profile->add_info_string("IsColocate",
691
300
                                     std::to_string(_parent->is_colocated_operator()));
692
300
    _common_profile->add_info_string("IsShuffled", std::to_string(_parent->is_shuffled_operator()));
693
300
    _common_profile->add_info_string("FollowedByShuffledOperator",
694
300
                                     std::to_string(_parent->followed_by_shuffled_operator()));
695
300
    return Status::OK();
696
300
}
697
698
template <typename SharedState>
699
2.26M
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
2.26M
    if (_closed) {
701
2
        return Status::OK();
702
2
    }
703
2.26M
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
1.54M
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
1.54M
    }
706
2.26M
    _closed = true;
707
2.26M
    return Status::OK();
708
2.26M
}
_ZN5doris23PipelineXSinkLocalStateINS_19HashJoinSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
185k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
185k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
185k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
185k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
185k
    }
706
185k
    _closed = true;
707
185k
    return Status::OK();
708
185k
}
_ZN5doris23PipelineXSinkLocalStateINS_30PartitionedHashJoinSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
1
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
1
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
1
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
1
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
1
    }
706
1
    _closed = true;
707
1
    return Status::OK();
708
1
}
_ZN5doris23PipelineXSinkLocalStateINS_15SortSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
243k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
243k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
243k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
243k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
243k
    }
706
243k
    _closed = true;
707
243k
    return Status::OK();
708
243k
}
_ZN5doris23PipelineXSinkLocalStateINS_20SpillSortSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
15
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
15
    if (_closed) {
701
2
        return Status::OK();
702
2
    }
703
13
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
13
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
13
    }
706
13
    _closed = true;
707
13
    return Status::OK();
708
15
}
_ZN5doris23PipelineXSinkLocalStateINS_25NestedLoopJoinSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
7.58k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
7.58k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
7.58k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
7.58k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
7.58k
    }
706
7.58k
    _closed = true;
707
7.58k
    return Status::OK();
708
7.58k
}
_ZN5doris23PipelineXSinkLocalStateINS_19AnalyticSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
9.04k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
9.04k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
9.04k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
9.04k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
9.04k
    }
706
9.04k
    _closed = true;
707
9.04k
    return Status::OK();
708
9.04k
}
_ZN5doris23PipelineXSinkLocalStateINS_14AggSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
135k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
135k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
135k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
135k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
135k
    }
706
135k
    _closed = true;
707
135k
    return Status::OK();
708
135k
}
_ZN5doris23PipelineXSinkLocalStateINS_25PartitionedAggSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
359
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
359
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
359
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
359
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
359
    }
706
359
    _closed = true;
707
359
    return Status::OK();
708
359
}
_ZN5doris23PipelineXSinkLocalStateINS_15FakeSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
719k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
719k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
    }
706
719k
    _closed = true;
707
719k
    return Status::OK();
708
719k
}
_ZN5doris23PipelineXSinkLocalStateINS_16UnionSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
8.06k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
8.06k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
8.06k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
8.06k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
8.06k
    }
706
8.06k
    _closed = true;
707
8.06k
    return Status::OK();
708
8.06k
}
_ZN5doris23PipelineXSinkLocalStateINS_28PartitionSortNodeSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
382
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
382
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
382
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
382
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
382
    }
706
382
    _closed = true;
707
382
    return Status::OK();
708
382
}
_ZN5doris23PipelineXSinkLocalStateINS_20MultiCastSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
3.45k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
3.45k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
3.45k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
3.45k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
3.45k
    }
706
3.45k
    _closed = true;
707
3.45k
    return Status::OK();
708
3.45k
}
_ZN5doris23PipelineXSinkLocalStateINS_14SetSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
12.0k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
12.0k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
12.0k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
12.0k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
12.0k
    }
706
12.0k
    _closed = true;
707
12.0k
    return Status::OK();
708
12.0k
}
_ZN5doris23PipelineXSinkLocalStateINS_24LocalExchangeSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
409k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
409k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
409k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
409k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
409k
    }
706
409k
    _closed = true;
707
409k
    return Status::OK();
708
409k
}
_ZN5doris23PipelineXSinkLocalStateINS_16BasicSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
527k
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
527k
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
527k
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
527k
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
527k
    }
706
527k
    _closed = true;
707
527k
    return Status::OK();
708
527k
}
_ZN5doris23PipelineXSinkLocalStateINS_20DataQueueSharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
365
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
365
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
365
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
365
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
365
    }
706
365
    _closed = true;
707
365
    return Status::OK();
708
365
}
_ZN5doris23PipelineXSinkLocalStateINS_17RecCTESharedStateEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
699
300
Status PipelineXSinkLocalState<SharedState>::close(RuntimeState* state, Status exec_status) {
700
300
    if (_closed) {
701
0
        return Status::OK();
702
0
    }
703
300
    if constexpr (!std::is_same_v<SharedState, FakeSharedState>) {
704
300
        COUNTER_SET(_wait_for_dependency_timer, _dependency->watcher_elapse_time());
705
300
    }
706
300
    _closed = true;
707
300
    return Status::OK();
708
300
}
709
710
template <typename LocalStateType>
711
7.99k
Status StreamingOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
712
7.99k
    RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(state, block, eos));
713
7.98k
    return pull(state, block, eos);
714
7.99k
}
_ZN5doris18StreamingOperatorXINS_23AssertNumRowsLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
711
244
Status StreamingOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
712
244
    RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(state, block, eos));
713
244
    return pull(state, block, eos);
714
244
}
_ZN5doris18StreamingOperatorXINS_16SelectLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
711
7.74k
Status StreamingOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
712
7.74k
    RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(state, block, eos));
713
7.74k
    return pull(state, block, eos);
714
7.74k
}
715
716
template <typename LocalStateType>
717
35.3M
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
35.3M
    auto& local_state = get_local_state(state);
719
35.3M
    if (need_more_input_data(state)) {
720
835k
        local_state._child_block->clear_column_data(
721
835k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
835k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
835k
                state, local_state._child_block.get(), &local_state._child_eos));
724
835k
        *eos = local_state._child_eos;
725
835k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
50.2k
            return Status::OK();
727
50.2k
        }
728
785k
        {
729
785k
            SCOPED_TIMER(local_state.exec_time_counter());
730
785k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
785k
        }
732
785k
    }
733
734
35.2M
    if (!need_more_input_data(state)) {
735
35.2M
        SCOPED_TIMER(local_state.exec_time_counter());
736
35.2M
        bool new_eos = false;
737
35.2M
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
35.2M
        if (new_eos) {
739
742k
            *eos = true;
740
34.4M
        } else if (!need_more_input_data(state)) {
741
34.4M
            *eos = false;
742
34.4M
        }
743
35.2M
    }
744
35.2M
    return Status::OK();
745
35.2M
}
_ZN5doris17StatefulOperatorXINS_23HashJoinProbeLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
717
183k
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
183k
    auto& local_state = get_local_state(state);
719
183k
    if (need_more_input_data(state)) {
720
123k
        local_state._child_block->clear_column_data(
721
123k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
123k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
123k
                state, local_state._child_block.get(), &local_state._child_eos));
724
123k
        *eos = local_state._child_eos;
725
123k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
24.9k
            return Status::OK();
727
24.9k
        }
728
98.6k
        {
729
98.6k
            SCOPED_TIMER(local_state.exec_time_counter());
730
98.6k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
98.6k
        }
732
98.6k
    }
733
734
159k
    if (!need_more_input_data(state)) {
735
159k
        SCOPED_TIMER(local_state.exec_time_counter());
736
159k
        bool new_eos = false;
737
159k
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
159k
        if (new_eos) {
739
112k
            *eos = true;
740
112k
        } else if (!need_more_input_data(state)) {
741
10.7k
            *eos = false;
742
10.7k
        }
743
159k
    }
744
158k
    return Status::OK();
745
158k
}
Unexecuted instantiation: _ZN5doris17StatefulOperatorXINS_34PartitionedHashJoinProbeLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
_ZN5doris17StatefulOperatorXINS_16RepeatLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
717
3.10k
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
3.10k
    auto& local_state = get_local_state(state);
719
3.10k
    if (need_more_input_data(state)) {
720
1.74k
        local_state._child_block->clear_column_data(
721
1.74k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
1.74k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
1.74k
                state, local_state._child_block.get(), &local_state._child_eos));
724
1.74k
        *eos = local_state._child_eos;
725
1.74k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
108
            return Status::OK();
727
108
        }
728
1.63k
        {
729
1.63k
            SCOPED_TIMER(local_state.exec_time_counter());
730
1.63k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
1.63k
        }
732
1.63k
    }
733
734
3.00k
    if (!need_more_input_data(state)) {
735
3.00k
        SCOPED_TIMER(local_state.exec_time_counter());
736
3.00k
        bool new_eos = false;
737
3.00k
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
3.00k
        if (new_eos) {
739
1.33k
            *eos = true;
740
1.66k
        } else if (!need_more_input_data(state)) {
741
1.35k
            *eos = false;
742
1.35k
        }
743
3.00k
    }
744
3.00k
    return Status::OK();
745
3.00k
}
_ZN5doris17StatefulOperatorXINS_25MaterializationLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
717
3.19k
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
3.19k
    auto& local_state = get_local_state(state);
719
3.19k
    if (need_more_input_data(state)) {
720
3.19k
        local_state._child_block->clear_column_data(
721
3.19k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
3.19k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
3.19k
                state, local_state._child_block.get(), &local_state._child_eos));
724
3.19k
        *eos = local_state._child_eos;
725
3.19k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
1.26k
            return Status::OK();
727
1.26k
        }
728
1.93k
        {
729
1.93k
            SCOPED_TIMER(local_state.exec_time_counter());
730
1.93k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
1.93k
        }
732
1.93k
    }
733
734
1.93k
    if (!need_more_input_data(state)) {
735
1.93k
        SCOPED_TIMER(local_state.exec_time_counter());
736
1.93k
        bool new_eos = false;
737
1.93k
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
1.93k
        if (new_eos) {
739
1.28k
            *eos = true;
740
1.28k
        } else if (!need_more_input_data(state)) {
741
0
            *eos = false;
742
0
        }
743
1.93k
    }
744
1.93k
    return Status::OK();
745
1.93k
}
_ZN5doris17StatefulOperatorXINS_22StreamingAggLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
717
33.4k
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
33.4k
    auto& local_state = get_local_state(state);
719
33.4k
    if (need_more_input_data(state)) {
720
33.4k
        local_state._child_block->clear_column_data(
721
33.4k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
33.4k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
33.4k
                state, local_state._child_block.get(), &local_state._child_eos));
724
33.4k
        *eos = local_state._child_eos;
725
33.4k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
8.34k
            return Status::OK();
727
8.34k
        }
728
25.1k
        {
729
25.1k
            SCOPED_TIMER(local_state.exec_time_counter());
730
25.1k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
25.1k
        }
732
25.1k
    }
733
734
25.1k
    if (!need_more_input_data(state)) {
735
12.4k
        SCOPED_TIMER(local_state.exec_time_counter());
736
12.4k
        bool new_eos = false;
737
12.4k
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
12.4k
        if (new_eos) {
739
12.2k
            *eos = true;
740
12.2k
        } else if (!need_more_input_data(state)) {
741
60
            *eos = false;
742
60
        }
743
12.4k
    }
744
25.1k
    return Status::OK();
745
25.1k
}
_ZN5doris17StatefulOperatorXINS_30DistinctStreamingAggLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
717
648k
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
648k
    auto& local_state = get_local_state(state);
719
649k
    if (need_more_input_data(state)) {
720
649k
        local_state._child_block->clear_column_data(
721
649k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
649k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
649k
                state, local_state._child_block.get(), &local_state._child_eos));
724
649k
        *eos = local_state._child_eos;
725
649k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
13.3k
            return Status::OK();
727
13.3k
        }
728
636k
        {
729
636k
            SCOPED_TIMER(local_state.exec_time_counter());
730
636k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
636k
        }
732
636k
    }
733
734
635k
    if (!need_more_input_data(state)) {
735
604k
        SCOPED_TIMER(local_state.exec_time_counter());
736
604k
        bool new_eos = false;
737
604k
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
604k
        if (new_eos) {
739
603k
            *eos = true;
740
603k
        } else if (!need_more_input_data(state)) {
741
0
            *eos = false;
742
0
        }
743
604k
    }
744
635k
    return Status::OK();
745
635k
}
_ZN5doris17StatefulOperatorXINS_29NestedLoopJoinProbeLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
717
34.4M
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
34.4M
    auto& local_state = get_local_state(state);
719
34.4M
    if (need_more_input_data(state)) {
720
17.6k
        local_state._child_block->clear_column_data(
721
17.6k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
17.6k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
17.6k
                state, local_state._child_block.get(), &local_state._child_eos));
724
17.6k
        *eos = local_state._child_eos;
725
17.6k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
1.95k
            return Status::OK();
727
1.95k
        }
728
15.6k
        {
729
15.6k
            SCOPED_TIMER(local_state.exec_time_counter());
730
15.6k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
15.6k
        }
732
15.6k
    }
733
734
34.4M
    if (!need_more_input_data(state)) {
735
34.4M
        SCOPED_TIMER(local_state.exec_time_counter());
736
34.4M
        bool new_eos = false;
737
34.4M
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
34.4M
        if (new_eos) {
739
7.60k
            *eos = true;
740
34.4M
        } else if (!need_more_input_data(state)) {
741
34.4M
            *eos = false;
742
34.4M
        }
743
34.4M
    }
744
34.4M
    return Status::OK();
745
34.4M
}
_ZN5doris17StatefulOperatorXINS_23TableFunctionLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb
Line
Count
Source
717
6.53k
Status StatefulOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
718
6.53k
    auto& local_state = get_local_state(state);
719
6.53k
    if (need_more_input_data(state)) {
720
6.17k
        local_state._child_block->clear_column_data(
721
6.17k
                OperatorX<LocalStateType>::_child->row_desc().num_materialized_slots());
722
6.17k
        RETURN_IF_ERROR(OperatorX<LocalStateType>::_child->get_block_after_projects(
723
6.17k
                state, local_state._child_block.get(), &local_state._child_eos));
724
6.17k
        *eos = local_state._child_eos;
725
6.17k
        if (local_state._child_block->rows() == 0 && !local_state._child_eos) {
726
353
            return Status::OK();
727
353
        }
728
5.81k
        {
729
5.81k
            SCOPED_TIMER(local_state.exec_time_counter());
730
5.81k
            RETURN_IF_ERROR(push(state, local_state._child_block.get(), local_state._child_eos));
731
5.81k
        }
732
5.81k
    }
733
734
6.18k
    if (!need_more_input_data(state)) {
735
6.18k
        SCOPED_TIMER(local_state.exec_time_counter());
736
6.18k
        bool new_eos = false;
737
6.18k
        RETURN_IF_ERROR(pull(state, block, &new_eos));
738
6.18k
        if (new_eos) {
739
4.29k
            *eos = true;
740
4.29k
        } else if (!need_more_input_data(state)) {
741
374
            *eos = false;
742
374
        }
743
6.18k
    }
744
6.17k
    return Status::OK();
745
6.17k
}
746
747
template <typename Writer, typename Parent>
748
    requires(std::is_base_of_v<AsyncResultWriter, Writer>)
749
73.7k
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
73.7k
    RETURN_IF_ERROR(Base::init(state, info));
751
73.7k
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
73.7k
                                                         "AsyncWriterDependency", true);
753
73.7k
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
73.7k
                             _finish_dependency));
755
756
73.7k
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
73.7k
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
73.7k
    return Status::OK();
759
73.7k
}
_ZN5doris15AsyncWriterSinkINS_17VFileResultWriterENS_23ResultFileSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
749
411
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
411
    RETURN_IF_ERROR(Base::init(state, info));
751
411
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
411
                                                         "AsyncWriterDependency", true);
753
411
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
411
                             _finish_dependency));
755
756
411
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
411
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
411
    return Status::OK();
759
411
}
_ZN5doris15AsyncWriterSinkINS_16VJdbcTableWriterENS_22JdbcTableSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
749
38
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
38
    RETURN_IF_ERROR(Base::init(state, info));
751
38
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
38
                                                         "AsyncWriterDependency", true);
753
38
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
38
                             _finish_dependency));
755
756
38
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
38
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
38
    return Status::OK();
759
38
}
_ZN5doris15AsyncWriterSinkINS_13VTabletWriterENS_22OlapTableSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
749
66.2k
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
66.2k
    RETURN_IF_ERROR(Base::init(state, info));
751
66.2k
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
66.2k
                                                         "AsyncWriterDependency", true);
753
66.2k
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
66.2k
                             _finish_dependency));
755
756
66.2k
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
66.2k
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
66.2k
    return Status::OK();
759
66.2k
}
_ZN5doris15AsyncWriterSinkINS_15VTabletWriterV2ENS_24OlapTableSinkV2OperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
749
2.71k
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
2.71k
    RETURN_IF_ERROR(Base::init(state, info));
751
2.71k
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
2.71k
                                                         "AsyncWriterDependency", true);
753
2.71k
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
2.71k
                             _finish_dependency));
755
756
2.71k
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
2.71k
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
2.71k
    return Status::OK();
759
2.71k
}
_ZN5doris15AsyncWriterSinkINS_16VHiveTableWriterENS_22HiveTableSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
749
2.61k
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
2.61k
    RETURN_IF_ERROR(Base::init(state, info));
751
2.61k
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
2.61k
                                                         "AsyncWriterDependency", true);
753
2.61k
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
2.61k
                             _finish_dependency));
755
756
2.61k
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
2.61k
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
2.61k
    return Status::OK();
759
2.61k
}
_ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_25IcebergTableSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
749
1.61k
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
1.61k
    RETURN_IF_ERROR(Base::init(state, info));
751
1.61k
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
1.61k
                                                         "AsyncWriterDependency", true);
753
1.61k
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
1.61k
                             _finish_dependency));
755
756
1.61k
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
1.61k
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
1.61k
    return Status::OK();
759
1.61k
}
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_30SpillIcebergTableSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_14VMCTableWriterENS_20MCTableSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
_ZN5doris15AsyncWriterSinkINS_15VTVFTableWriterENS_21TVFTableSinkOperatorXEE4initEPNS_12RuntimeStateERNS_18LocalSinkStateInfoE
Line
Count
Source
749
72
Status AsyncWriterSink<Writer, Parent>::init(RuntimeState* state, LocalSinkStateInfo& info) {
750
72
    RETURN_IF_ERROR(Base::init(state, info));
751
72
    _async_writer_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(),
752
72
                                                         "AsyncWriterDependency", true);
753
72
    _writer.reset(new Writer(info.tsink, _output_vexpr_ctxs, _async_writer_dependency,
754
72
                             _finish_dependency));
755
756
72
    _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL(
757
72
            common_profile(), "WaitForDependency[" + _async_writer_dependency->name() + "]Time", 1);
758
72
    return Status::OK();
759
72
}
760
761
template <typename Writer, typename Parent>
762
    requires(std::is_base_of_v<AsyncResultWriter, Writer>)
763
74.1k
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
74.1k
    RETURN_IF_ERROR(Base::open(state));
765
74.1k
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
582k
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
508k
        RETURN_IF_ERROR(
768
508k
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
508k
    }
770
74.1k
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
74.1k
    return Status::OK();
772
74.1k
}
_ZN5doris15AsyncWriterSinkINS_17VFileResultWriterENS_23ResultFileSinkOperatorXEE4openEPNS_12RuntimeStateE
Line
Count
Source
763
413
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
413
    RETURN_IF_ERROR(Base::open(state));
765
413
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
2.19k
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
1.78k
        RETURN_IF_ERROR(
768
1.78k
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
1.78k
    }
770
413
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
413
    return Status::OK();
772
413
}
_ZN5doris15AsyncWriterSinkINS_16VJdbcTableWriterENS_22JdbcTableSinkOperatorXEE4openEPNS_12RuntimeStateE
Line
Count
Source
763
38
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
38
    RETURN_IF_ERROR(Base::open(state));
765
38
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
199
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
161
        RETURN_IF_ERROR(
768
161
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
161
    }
770
38
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
38
    return Status::OK();
772
38
}
_ZN5doris15AsyncWriterSinkINS_13VTabletWriterENS_22OlapTableSinkOperatorXEE4openEPNS_12RuntimeStateE
Line
Count
Source
763
66.6k
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
66.6k
    RETURN_IF_ERROR(Base::open(state));
765
66.6k
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
471k
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
404k
        RETURN_IF_ERROR(
768
404k
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
404k
    }
770
66.6k
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
66.6k
    return Status::OK();
772
66.6k
}
_ZN5doris15AsyncWriterSinkINS_15VTabletWriterV2ENS_24OlapTableSinkV2OperatorXEE4openEPNS_12RuntimeStateE
Line
Count
Source
763
2.70k
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
2.70k
    RETURN_IF_ERROR(Base::open(state));
765
2.70k
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
19.4k
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
16.7k
        RETURN_IF_ERROR(
768
16.7k
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
16.7k
    }
770
2.70k
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
2.70k
    return Status::OK();
772
2.70k
}
_ZN5doris15AsyncWriterSinkINS_16VHiveTableWriterENS_22HiveTableSinkOperatorXEE4openEPNS_12RuntimeStateE
Line
Count
Source
763
2.61k
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
2.61k
    RETURN_IF_ERROR(Base::open(state));
765
2.61k
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
68.2k
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
65.6k
        RETURN_IF_ERROR(
768
65.6k
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
65.6k
    }
770
2.61k
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
2.61k
    return Status::OK();
772
2.61k
}
_ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_25IcebergTableSinkOperatorXEE4openEPNS_12RuntimeStateE
Line
Count
Source
763
1.61k
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
1.61k
    RETURN_IF_ERROR(Base::open(state));
765
1.61k
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
20.7k
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
19.1k
        RETURN_IF_ERROR(
768
19.1k
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
19.1k
    }
770
1.61k
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
1.61k
    return Status::OK();
772
1.61k
}
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_30SpillIcebergTableSinkOperatorXEE4openEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_14VMCTableWriterENS_20MCTableSinkOperatorXEE4openEPNS_12RuntimeStateE
_ZN5doris15AsyncWriterSinkINS_15VTVFTableWriterENS_21TVFTableSinkOperatorXEE4openEPNS_12RuntimeStateE
Line
Count
Source
763
72
Status AsyncWriterSink<Writer, Parent>::open(RuntimeState* state) {
764
72
    RETURN_IF_ERROR(Base::open(state));
765
72
    _output_vexpr_ctxs.resize(_parent->cast<Parent>()._output_vexpr_ctxs.size());
766
363
    for (size_t i = 0; i < _output_vexpr_ctxs.size(); i++) {
767
291
        RETURN_IF_ERROR(
768
291
                _parent->cast<Parent>()._output_vexpr_ctxs[i]->clone(state, _output_vexpr_ctxs[i]));
769
291
    }
770
72
    RETURN_IF_ERROR(_writer->start_writer(state, operator_profile()));
771
72
    return Status::OK();
772
72
}
773
774
template <typename Writer, typename Parent>
775
    requires(std::is_base_of_v<AsyncResultWriter, Writer>)
776
90.8k
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
90.8k
    return _writer->sink(block, eos);
778
90.8k
}
_ZN5doris15AsyncWriterSinkINS_17VFileResultWriterENS_23ResultFileSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Line
Count
Source
776
1.50k
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
1.50k
    return _writer->sink(block, eos);
778
1.50k
}
_ZN5doris15AsyncWriterSinkINS_16VJdbcTableWriterENS_22JdbcTableSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Line
Count
Source
776
49
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
49
    return _writer->sink(block, eos);
778
49
}
_ZN5doris15AsyncWriterSinkINS_13VTabletWriterENS_22OlapTableSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Line
Count
Source
776
78.7k
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
78.7k
    return _writer->sink(block, eos);
778
78.7k
}
_ZN5doris15AsyncWriterSinkINS_15VTabletWriterV2ENS_24OlapTableSinkV2OperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Line
Count
Source
776
3.23k
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
3.23k
    return _writer->sink(block, eos);
778
3.23k
}
_ZN5doris15AsyncWriterSinkINS_16VHiveTableWriterENS_22HiveTableSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Line
Count
Source
776
4.65k
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
4.65k
    return _writer->sink(block, eos);
778
4.65k
}
_ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_25IcebergTableSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Line
Count
Source
776
2.58k
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
2.58k
    return _writer->sink(block, eos);
778
2.58k
}
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_30SpillIcebergTableSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_14VMCTableWriterENS_20MCTableSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
_ZN5doris15AsyncWriterSinkINS_15VTVFTableWriterENS_21TVFTableSinkOperatorXEE4sinkEPNS_12RuntimeStateEPNS_5BlockEb
Line
Count
Source
776
141
Status AsyncWriterSink<Writer, Parent>::sink(RuntimeState* state, Block* block, bool eos) {
777
141
    return _writer->sink(block, eos);
778
141
}
779
780
template <typename Writer, typename Parent>
781
    requires(std::is_base_of_v<AsyncResultWriter, Writer>)
782
74.2k
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
74.2k
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
74.2k
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
74.2k
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
74.2k
    if (_writer) {
790
74.2k
        Status st = _writer->get_writer_status();
791
74.2k
        if (exec_status.ok()) {
792
74.1k
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
74.1k
                                                       : Status::Cancelled("force close"));
794
74.1k
        } else {
795
91
            _writer->force_close(exec_status);
796
91
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
74.2k
        RETURN_IF_ERROR(st);
801
74.2k
    }
802
74.1k
    return Base::close(state, exec_status);
803
74.2k
}
_ZN5doris15AsyncWriterSinkINS_17VFileResultWriterENS_23ResultFileSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
782
401
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
401
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
401
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
401
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
401
    if (_writer) {
790
401
        Status st = _writer->get_writer_status();
791
401
        if (exec_status.ok()) {
792
401
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
401
                                                       : Status::Cancelled("force close"));
794
401
        } else {
795
0
            _writer->force_close(exec_status);
796
0
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
401
        RETURN_IF_ERROR(st);
801
401
    }
802
401
    return Base::close(state, exec_status);
803
401
}
_ZN5doris15AsyncWriterSinkINS_16VJdbcTableWriterENS_22JdbcTableSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
782
38
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
38
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
38
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
38
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
38
    if (_writer) {
790
38
        Status st = _writer->get_writer_status();
791
38
        if (exec_status.ok()) {
792
38
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
38
                                                       : Status::Cancelled("force close"));
794
38
        } else {
795
0
            _writer->force_close(exec_status);
796
0
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
38
        RETURN_IF_ERROR(st);
801
38
    }
802
38
    return Base::close(state, exec_status);
803
38
}
_ZN5doris15AsyncWriterSinkINS_13VTabletWriterENS_22OlapTableSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
782
66.7k
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
66.7k
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
66.7k
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
66.7k
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
66.7k
    if (_writer) {
790
66.7k
        Status st = _writer->get_writer_status();
791
66.7k
        if (exec_status.ok()) {
792
66.6k
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
66.6k
                                                       : Status::Cancelled("force close"));
794
66.6k
        } else {
795
94
            _writer->force_close(exec_status);
796
94
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
66.7k
        RETURN_IF_ERROR(st);
801
66.7k
    }
802
66.6k
    return Base::close(state, exec_status);
803
66.7k
}
_ZN5doris15AsyncWriterSinkINS_15VTabletWriterV2ENS_24OlapTableSinkV2OperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
782
2.71k
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
2.71k
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
2.71k
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
2.71k
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
2.71k
    if (_writer) {
790
2.71k
        Status st = _writer->get_writer_status();
791
2.71k
        if (exec_status.ok()) {
792
2.71k
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
2.71k
                                                       : Status::Cancelled("force close"));
794
18.4E
        } else {
795
18.4E
            _writer->force_close(exec_status);
796
18.4E
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
2.71k
        RETURN_IF_ERROR(st);
801
2.71k
    }
802
2.71k
    return Base::close(state, exec_status);
803
2.71k
}
_ZN5doris15AsyncWriterSinkINS_16VHiveTableWriterENS_22HiveTableSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
782
2.61k
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
2.61k
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
2.61k
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
2.61k
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
2.61k
    if (_writer) {
790
2.61k
        Status st = _writer->get_writer_status();
791
2.61k
        if (exec_status.ok()) {
792
2.61k
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
2.61k
                                                       : Status::Cancelled("force close"));
794
2.61k
        } else {
795
0
            _writer->force_close(exec_status);
796
0
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
2.61k
        RETURN_IF_ERROR(st);
801
2.61k
    }
802
2.61k
    return Base::close(state, exec_status);
803
2.61k
}
_ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_25IcebergTableSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
782
1.61k
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
1.61k
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
1.61k
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
1.61k
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
1.61k
    if (_writer) {
790
1.61k
        Status st = _writer->get_writer_status();
791
1.61k
        if (exec_status.ok()) {
792
1.61k
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
1.61k
                                                       : Status::Cancelled("force close"));
794
1.61k
        } else {
795
0
            _writer->force_close(exec_status);
796
0
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
1.61k
        RETURN_IF_ERROR(st);
801
1.61k
    }
802
1.61k
    return Base::close(state, exec_status);
803
1.61k
}
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_19VIcebergTableWriterENS_30SpillIcebergTableSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Unexecuted instantiation: _ZN5doris15AsyncWriterSinkINS_14VMCTableWriterENS_20MCTableSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
_ZN5doris15AsyncWriterSinkINS_15VTVFTableWriterENS_21TVFTableSinkOperatorXEE5closeEPNS_12RuntimeStateENS_6StatusE
Line
Count
Source
782
72
Status AsyncWriterSink<Writer, Parent>::close(RuntimeState* state, Status exec_status) {
783
72
    if (_closed) {
784
0
        return Status::OK();
785
0
    }
786
72
    COUNTER_SET(_wait_for_dependency_timer, _async_writer_dependency->watcher_elapse_time());
787
72
    COUNTER_SET(_wait_for_finish_dependency_timer, _finish_dependency->watcher_elapse_time());
788
    // if the init failed, the _writer may be nullptr. so here need check
789
72
    if (_writer) {
790
72
        Status st = _writer->get_writer_status();
791
72
        if (exec_status.ok()) {
792
72
            _writer->force_close(state->is_cancelled() ? state->cancel_reason()
793
72
                                                       : Status::Cancelled("force close"));
794
72
        } else {
795
0
            _writer->force_close(exec_status);
796
0
        }
797
        // If there is an error in process_block thread, then we should get the writer
798
        // status before call force_close. For example, the thread may failed in commit
799
        // transaction.
800
72
        RETURN_IF_ERROR(st);
801
72
    }
802
72
    return Base::close(state, exec_status);
803
72
}
804
805
#define DECLARE_OPERATOR(LOCAL_STATE) template class DataSinkOperatorX<LOCAL_STATE>;
806
DECLARE_OPERATOR(HashJoinBuildSinkLocalState)
807
DECLARE_OPERATOR(ResultSinkLocalState)
808
DECLARE_OPERATOR(JdbcTableSinkLocalState)
809
DECLARE_OPERATOR(MemoryScratchSinkLocalState)
810
DECLARE_OPERATOR(ResultFileSinkLocalState)
811
DECLARE_OPERATOR(OlapTableSinkLocalState)
812
DECLARE_OPERATOR(OlapTableSinkV2LocalState)
813
DECLARE_OPERATOR(HiveTableSinkLocalState)
814
DECLARE_OPERATOR(TVFTableSinkLocalState)
815
DECLARE_OPERATOR(IcebergTableSinkLocalState)
816
DECLARE_OPERATOR(SpillIcebergTableSinkLocalState)
817
DECLARE_OPERATOR(MCTableSinkLocalState)
818
DECLARE_OPERATOR(AnalyticSinkLocalState)
819
DECLARE_OPERATOR(BlackholeSinkLocalState)
820
DECLARE_OPERATOR(SortSinkLocalState)
821
DECLARE_OPERATOR(SpillSortSinkLocalState)
822
DECLARE_OPERATOR(LocalExchangeSinkLocalState)
823
DECLARE_OPERATOR(AggSinkLocalState)
824
DECLARE_OPERATOR(PartitionedAggSinkLocalState)
825
DECLARE_OPERATOR(ExchangeSinkLocalState)
826
DECLARE_OPERATOR(NestedLoopJoinBuildSinkLocalState)
827
DECLARE_OPERATOR(UnionSinkLocalState)
828
DECLARE_OPERATOR(MultiCastDataStreamSinkLocalState)
829
DECLARE_OPERATOR(PartitionSortSinkLocalState)
830
DECLARE_OPERATOR(SetProbeSinkLocalState<true>)
831
DECLARE_OPERATOR(SetProbeSinkLocalState<false>)
832
DECLARE_OPERATOR(SetSinkLocalState<true>)
833
DECLARE_OPERATOR(SetSinkLocalState<false>)
834
DECLARE_OPERATOR(PartitionedHashJoinSinkLocalState)
835
DECLARE_OPERATOR(GroupCommitBlockSinkLocalState)
836
DECLARE_OPERATOR(CacheSinkLocalState)
837
DECLARE_OPERATOR(DictSinkLocalState)
838
DECLARE_OPERATOR(RecCTESinkLocalState)
839
DECLARE_OPERATOR(RecCTEAnchorSinkLocalState)
840
841
#undef DECLARE_OPERATOR
842
843
#define DECLARE_OPERATOR(LOCAL_STATE) template class OperatorX<LOCAL_STATE>;
844
DECLARE_OPERATOR(HashJoinProbeLocalState)
845
DECLARE_OPERATOR(OlapScanLocalState)
846
DECLARE_OPERATOR(GroupCommitLocalState)
847
DECLARE_OPERATOR(JDBCScanLocalState)
848
DECLARE_OPERATOR(FileScanLocalState)
849
DECLARE_OPERATOR(EsScanLocalState)
850
DECLARE_OPERATOR(AnalyticLocalState)
851
DECLARE_OPERATOR(SortLocalState)
852
DECLARE_OPERATOR(SpillSortLocalState)
853
DECLARE_OPERATOR(LocalMergeSortLocalState)
854
DECLARE_OPERATOR(AggLocalState)
855
DECLARE_OPERATOR(PartitionedAggLocalState)
856
DECLARE_OPERATOR(TableFunctionLocalState)
857
DECLARE_OPERATOR(ExchangeLocalState)
858
DECLARE_OPERATOR(RepeatLocalState)
859
DECLARE_OPERATOR(NestedLoopJoinProbeLocalState)
860
DECLARE_OPERATOR(AssertNumRowsLocalState)
861
DECLARE_OPERATOR(EmptySetLocalState)
862
DECLARE_OPERATOR(UnionSourceLocalState)
863
DECLARE_OPERATOR(MultiCastDataStreamSourceLocalState)
864
DECLARE_OPERATOR(PartitionSortSourceLocalState)
865
DECLARE_OPERATOR(SetSourceLocalState<true>)
866
DECLARE_OPERATOR(SetSourceLocalState<false>)
867
DECLARE_OPERATOR(DataGenLocalState)
868
DECLARE_OPERATOR(SchemaScanLocalState)
869
DECLARE_OPERATOR(MetaScanLocalState)
870
DECLARE_OPERATOR(LocalExchangeSourceLocalState)
871
DECLARE_OPERATOR(PartitionedHashJoinProbeLocalState)
872
DECLARE_OPERATOR(CacheSourceLocalState)
873
DECLARE_OPERATOR(RecCTESourceLocalState)
874
DECLARE_OPERATOR(RecCTEScanLocalState)
875
876
#ifdef BE_TEST
877
DECLARE_OPERATOR(MockLocalState)
878
DECLARE_OPERATOR(MockScanLocalState)
879
#endif
880
#undef DECLARE_OPERATOR
881
882
template class StreamingOperatorX<AssertNumRowsLocalState>;
883
template class StreamingOperatorX<SelectLocalState>;
884
885
template class StatefulOperatorX<HashJoinProbeLocalState>;
886
template class StatefulOperatorX<PartitionedHashJoinProbeLocalState>;
887
template class StatefulOperatorX<RepeatLocalState>;
888
template class StatefulOperatorX<MaterializationLocalState>;
889
template class StatefulOperatorX<StreamingAggLocalState>;
890
template class StatefulOperatorX<DistinctStreamingAggLocalState>;
891
template class StatefulOperatorX<NestedLoopJoinProbeLocalState>;
892
template class StatefulOperatorX<TableFunctionLocalState>;
893
894
template class PipelineXSinkLocalState<HashJoinSharedState>;
895
template class PipelineXSinkLocalState<PartitionedHashJoinSharedState>;
896
template class PipelineXSinkLocalState<SortSharedState>;
897
template class PipelineXSinkLocalState<SpillSortSharedState>;
898
template class PipelineXSinkLocalState<NestedLoopJoinSharedState>;
899
template class PipelineXSinkLocalState<AnalyticSharedState>;
900
template class PipelineXSinkLocalState<AggSharedState>;
901
template class PipelineXSinkLocalState<PartitionedAggSharedState>;
902
template class PipelineXSinkLocalState<FakeSharedState>;
903
template class PipelineXSinkLocalState<UnionSharedState>;
904
template class PipelineXSinkLocalState<PartitionSortNodeSharedState>;
905
template class PipelineXSinkLocalState<MultiCastSharedState>;
906
template class PipelineXSinkLocalState<SetSharedState>;
907
template class PipelineXSinkLocalState<LocalExchangeSharedState>;
908
template class PipelineXSinkLocalState<BasicSharedState>;
909
template class PipelineXSinkLocalState<DataQueueSharedState>;
910
template class PipelineXSinkLocalState<RecCTESharedState>;
911
912
template class PipelineXLocalState<HashJoinSharedState>;
913
template class PipelineXLocalState<PartitionedHashJoinSharedState>;
914
template class PipelineXLocalState<SortSharedState>;
915
template class PipelineXLocalState<SpillSortSharedState>;
916
template class PipelineXLocalState<NestedLoopJoinSharedState>;
917
template class PipelineXLocalState<AnalyticSharedState>;
918
template class PipelineXLocalState<AggSharedState>;
919
template class PipelineXLocalState<PartitionedAggSharedState>;
920
template class PipelineXLocalState<FakeSharedState>;
921
template class PipelineXLocalState<UnionSharedState>;
922
template class PipelineXLocalState<DataQueueSharedState>;
923
template class PipelineXLocalState<MultiCastSharedState>;
924
template class PipelineXLocalState<PartitionSortNodeSharedState>;
925
template class PipelineXLocalState<SetSharedState>;
926
template class PipelineXLocalState<LocalExchangeSharedState>;
927
template class PipelineXLocalState<BasicSharedState>;
928
template class PipelineXLocalState<RecCTESharedState>;
929
930
template class AsyncWriterSink<doris::VFileResultWriter, ResultFileSinkOperatorX>;
931
template class AsyncWriterSink<doris::VJdbcTableWriter, JdbcTableSinkOperatorX>;
932
template class AsyncWriterSink<doris::VTabletWriter, OlapTableSinkOperatorX>;
933
template class AsyncWriterSink<doris::VTabletWriterV2, OlapTableSinkV2OperatorX>;
934
template class AsyncWriterSink<doris::VHiveTableWriter, HiveTableSinkOperatorX>;
935
template class AsyncWriterSink<doris::VIcebergTableWriter, IcebergTableSinkOperatorX>;
936
template class AsyncWriterSink<doris::VIcebergTableWriter, SpillIcebergTableSinkOperatorX>;
937
template class AsyncWriterSink<doris::VMCTableWriter, MCTableSinkOperatorX>;
938
template class AsyncWriterSink<doris::VTVFTableWriter, TVFTableSinkOperatorX>;
939
940
#ifdef BE_TEST
941
template class OperatorX<DummyOperatorLocalState>;
942
template class DataSinkOperatorX<DummySinkLocalState>;
943
#endif
944
945
#include "common/compile_check_end.h"
946
} // namespace doris