be/src/exec/pipeline/rec_cte_shared_state.h
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 | | #pragma once |
19 | | |
20 | | #include "exec/common/distinct_agg_utils.h" |
21 | | #include "exec/pipeline/dependency.h" |
22 | | #include "util/brpc_client_cache.h" |
23 | | |
24 | | namespace doris { |
25 | | #include "common/compile_check_begin.h" |
26 | | |
27 | | struct RecCTESharedState : public BasicSharedState { |
28 | | std::vector<TRecCTETarget> targets; |
29 | | std::vector<Block> blocks; |
30 | | IColumn::Selector distinct_row; |
31 | | Dependency* source_dep = nullptr; |
32 | | Dependency* anchor_dep = nullptr; |
33 | | Arena arena; |
34 | | RuntimeProfile::Counter* hash_table_compute_timer = nullptr; |
35 | | RuntimeProfile::Counter* hash_table_emplace_timer = nullptr; |
36 | | RuntimeProfile::Counter* hash_table_input_counter = nullptr; |
37 | | |
38 | | std::unique_ptr<DistinctDataVariants> agg_data = nullptr; |
39 | | |
40 | | int current_round = 0; |
41 | | int last_round_offset = 0; |
42 | | int max_recursion_depth = 0; |
43 | | bool ready_to_return = false; |
44 | | |
45 | 0 | void update_ready_to_return() { |
46 | 0 | if (last_round_offset == blocks.size()) { |
47 | 0 | ready_to_return = true; |
48 | 0 | } |
49 | 0 | } |
50 | | |
51 | 0 | Status emplace_block(RuntimeState* state, Block&& block) { |
52 | 0 | if (agg_data) { |
53 | 0 | auto num_rows = uint32_t(block.rows()); |
54 | 0 | ColumnRawPtrs raw_columns; |
55 | 0 | std::vector<ColumnPtr> columns = block.get_columns_and_convert(); |
56 | 0 | for (auto& col : columns) { |
57 | 0 | raw_columns.push_back(col.get()); |
58 | 0 | } |
59 | |
|
60 | 0 | std::visit(Overload {[&](std::monostate& arg) -> void { |
61 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
62 | 0 | "uninited hash table"); |
63 | 0 | }, |
64 | 0 | [&](auto& agg_method) -> void { |
65 | 0 | SCOPED_TIMER(hash_table_compute_timer); |
66 | 0 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
67 | 0 | using AggState = typename HashMethodType::State; |
68 | |
|
69 | 0 | AggState agg_state(raw_columns); |
70 | 0 | agg_method.init_serialized_keys(raw_columns, num_rows); |
71 | 0 | distinct_row.clear(); |
72 | |
|
73 | 0 | size_t row = 0; |
74 | 0 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { |
75 | 0 | HashMethodType::try_presis_key(key, origin, arena); |
76 | 0 | ctor(key); |
77 | 0 | distinct_row.push_back(row); |
78 | 0 | }; Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIN4wide7integerILm256EjEE9HashCRC32ISD_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSR_17FlatHashSetPolicyISD_EESF_NS_7EqualToISD_EENS_10Allocator_ISD_EEE11constructorESD_SD_EEDaSJ_SL_SN_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_7UInt136E9HashCRC32ISB_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSP_17FlatHashSetPolicyISB_EESD_NS_7EqualToISB_EENS_10Allocator_ISB_EEE11constructorESB_SB_EEDaSH_SJ_SL_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIN4wide7integerILm128EjEE9HashCRC32ISD_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSR_17FlatHashSetPolicyISD_EESF_NS_7EqualToISD_EENS_10Allocator_ISD_EEE11constructorESD_SD_EEDaSJ_SL_SN_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_7UInt104E9HashCRC32ISB_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSP_17FlatHashSetPolicyISB_EESD_NS_7EqualToISB_EENS_10Allocator_ISB_EEE11constructorESB_SB_EEDaSH_SJ_SL_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_6UInt96E9HashCRC32ISB_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSP_17FlatHashSetPolicyISB_EESD_NS_7EqualToISB_EENS_10Allocator_ISB_EEE11constructorESB_SB_EEDaSH_SJ_SL_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_6UInt72E9HashCRC32ISB_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSP_17FlatHashSetPolicyISB_EESD_NS_7EqualToISB_EENS_10Allocator_ISB_EEE11constructorESB_SB_EEDaSH_SJ_SL_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIm9HashCRC32ImEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSO_17FlatHashSetPolicyImEESC_NS_7EqualToImEENS_10Allocator_ImEEE11constructorEmmEEDaSG_SI_SK_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyI9PHHashSetINS_9StringRefE11DefaultHashISD_vEEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINST_17FlatHashSetPolicyISD_EESF_NS_7EqualToISD_EENS_10Allocator_ISD_EEE11constructorESD_SD_EEDaSL_SN_SP_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSV_17FlatHashSetPolicyISD_EESH_NS_7EqualToISD_EENS_10Allocator_ISD_EEE11constructorESD_SD_EEDaSN_SP_SR_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSV_17FlatHashSetPolicyISD_EESH_NS_7EqualToISD_EENS_10Allocator_ISD_EEE11constructorESD_SD_EEDaSN_SP_SR_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSU_17FlatHashSetPolicyImEESG_NS_7EqualToImEENS_10Allocator_ImEEE11constructorEmmEEDaSM_SO_SQ_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSU_17FlatHashSetPolicyIjEESG_NS_7EqualToIjEENS_10Allocator_IjEEE11constructorEjjEEDaSM_SO_SQ_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm9HashCRC32ImEEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSS_17FlatHashSetPolicyImEESE_NS_7EqualToImEENS_10Allocator_ImEEE11constructorEmmEEDaSK_SM_SO_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj9HashCRC32IjEEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSS_17FlatHashSetPolicyIjEESE_NS_7EqualToIjEENS_10Allocator_IjEEE11constructorEjjEEDaSK_SM_SO_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashSetIt9HashCRC32ItEEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSS_17FlatHashSetPolicyItEESE_NS_7EqualToItEENS_10Allocator_ItEEE11constructorEttEEDaSK_SM_SO_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI21SmallFixedSizeHashSetIhEEEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIZNSD_12lazy_emplaceIRhRSN_EEvOS5_RPvmOSJ_EUlS6_E_hhEEDaSI_SK_SM_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIm9PHHashSetIm14HashMixWrapperIm9HashCRC32ImEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSQ_17FlatHashSetPolicyImEESE_NS_7EqualToImEENS_10Allocator_ImEEE11constructorEmmEEDaSI_SK_SM_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIj9PHHashSetIj14HashMixWrapperIj9HashCRC32IjEEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSQ_17FlatHashSetPolicyIjEESE_NS_7EqualToIjEENS_10Allocator_IjEEE11constructorEjjEEDaSI_SK_SM_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashSetISC_9HashCRC32ISC_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSR_17FlatHashSetPolicyISC_EESF_NS_7EqualToISC_EENS_10Allocator_ISC_EEE11constructorESC_SC_EEDaSJ_SL_SN_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashSetISC_9HashCRC32ISC_EEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSR_17FlatHashSetPolicyISC_EESF_NS_7EqualToISC_EENS_10Allocator_ISC_EEE11constructorESC_SC_EEDaSJ_SL_SN_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_19MethodStringNoCacheI9PHHashSetINS_9StringRefE11DefaultHashISB_vEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSP_17FlatHashSetPolicyISB_EESD_NS_7EqualToISB_EENS_10Allocator_ISB_EEE11constructorESB_SB_EEDaSH_SJ_SL_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIm9PHHashSetIm9HashCRC32ImEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSO_17FlatHashSetPolicyImEESC_NS_7EqualToImEENS_10Allocator_ImEEE11constructorEmmEEDaSG_SI_SK_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIj9PHHashSetIj9HashCRC32IjEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSO_17FlatHashSetPolicyIjEESC_NS_7EqualToIjEENS_10Allocator_IjEEE11constructorEjjEEDaSG_SI_SK_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIt9PHHashSetIt9HashCRC32ItEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSO_17FlatHashSetPolicyItEESC_NS_7EqualToItEENS_10Allocator_ItEEE11constructorEttEEDaSG_SI_SK_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIh21SmallFixedSizeHashSetIhEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIZNSB_12lazy_emplaceIRhRSJ_EEvOS5_RPvmOSF_EUlS6_E_hhEEDaSE_SG_SI_ Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_16MethodSerializedI9PHHashSetINS_9StringRefE11DefaultHashISB_vEEEEEEvS6_ENKUlRKS5_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSP_17FlatHashSetPolicyISB_EESD_NS_7EqualToISB_EENS_10Allocator_ISB_EEE11constructorESB_SB_EEDaSH_SJ_SL_ |
79 | 0 | auto creator_for_null_key = [&]() { |
80 | 0 | distinct_row.push_back(row); |
81 | 0 | }; Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI21SmallFixedSizeHashSetIhEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashSetIt9HashCRC32ItEEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj9HashCRC32IjEEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm9HashCRC32ImEEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyI9PHHashSetINS_9StringRefE11DefaultHashISD_vEEEEEEEEEEvS6_ENKUlvE_clEv |
82 | |
|
83 | 0 | SCOPED_TIMER(hash_table_emplace_timer); |
84 | 0 | lazy_emplace_batch_void(agg_method, agg_state, num_rows, |
85 | 0 | creator, creator_for_null_key, |
86 | 0 | [&](uint32_t r) { row = r; });Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_16MethodSerializedI9PHHashSetINS_9StringRefE11DefaultHashISB_vEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIh21SmallFixedSizeHashSetIhEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIt9PHHashSetIt9HashCRC32ItEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIj9PHHashSetIj9HashCRC32IjEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIm9PHHashSetIm9HashCRC32ImEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_19MethodStringNoCacheI9PHHashSetINS_9StringRefE11DefaultHashISB_vEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashSetISC_9HashCRC32ISC_EEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashSetISC_9HashCRC32ISC_EEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIj9PHHashSetIj14HashMixWrapperIj9HashCRC32IjEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIm9PHHashSetIm14HashMixWrapperIm9HashCRC32ImEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI21SmallFixedSizeHashSetIhEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashSetIt9HashCRC32ItEEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj9HashCRC32IjEEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm9HashCRC32ImEEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyI9PHHashSetINS_9StringRefE11DefaultHashISD_vEEEEEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIm9HashCRC32ImEEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_6UInt72E9HashCRC32ISB_EEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_6UInt96E9HashCRC32ISB_EEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_7UInt104E9HashCRC32ISB_EEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIN4wide7integerILm128EjEE9HashCRC32ISD_EEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_7UInt136E9HashCRC32ISB_EEEEEEvS6_ENKUljE_clEj Unexecuted instantiation: _ZZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIN4wide7integerILm256EjEE9HashCRC32ISD_EEEEEEvS6_ENKUljE_clEj |
87 | 0 | COUNTER_UPDATE(hash_table_input_counter, num_rows); |
88 | 0 | }}, Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIN4wide7integerILm256EjEE9HashCRC32ISD_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_7UInt136E9HashCRC32ISB_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIN4wide7integerILm128EjEE9HashCRC32ISD_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_7UInt104E9HashCRC32ISB_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_6UInt96E9HashCRC32ISB_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetINS_6UInt72E9HashCRC32ISB_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodKeysFixedI9PHHashSetIm9HashCRC32ImEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyI9PHHashSetINS_9StringRefE11DefaultHashISD_vEEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashSetISD_9HashCRC32ISD_EEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashSetIm9HashCRC32ImEEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashSetIj9HashCRC32IjEEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashSetIt9HashCRC32ItEEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI21SmallFixedSizeHashSetIhEEEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIm9PHHashSetIm14HashMixWrapperIm9HashCRC32ImEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIj9PHHashSetIj14HashMixWrapperIj9HashCRC32IjEEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashSetISC_9HashCRC32ISC_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashSetISC_9HashCRC32ISC_EEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_19MethodStringNoCacheI9PHHashSetINS_9StringRefE11DefaultHashISB_vEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIm9PHHashSetIm9HashCRC32ImEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIj9PHHashSetIj9HashCRC32IjEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIt9PHHashSetIt9HashCRC32ItEEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_15MethodOneNumberIh21SmallFixedSizeHashSetIhEEEEEvS6_ Unexecuted instantiation: _ZZN5doris17RecCTESharedState13emplace_blockEPNS_12RuntimeStateEONS_5BlockEENKUlRT_E_clINS_16MethodSerializedI9PHHashSetINS_9StringRefE11DefaultHashISB_vEEEEEEvS6_ |
89 | 0 | agg_data->method_variant); |
90 | |
|
91 | 0 | if (distinct_row.size() == block.rows()) { |
92 | 0 | blocks.emplace_back(std::move(block)); |
93 | 0 | } else if (!distinct_row.empty()) { |
94 | 0 | auto distinct_block = MutableBlock(block.clone_empty()); |
95 | 0 | RETURN_IF_ERROR(block.append_to_block_by_selector(&distinct_block, distinct_row)); |
96 | 0 | blocks.emplace_back(distinct_block.to_block()); |
97 | 0 | } |
98 | 0 | } else { |
99 | 0 | blocks.emplace_back(std::move(block)); |
100 | 0 | } |
101 | 0 | return Status::OK(); |
102 | 0 | } |
103 | | |
104 | | PTransmitRecCTEBlockParams build_basic_param(RuntimeState* state, |
105 | 0 | const TRecCTETarget& target) const { |
106 | 0 | PTransmitRecCTEBlockParams request; |
107 | 0 | request.set_node_id(target.node_id); |
108 | 0 | request.mutable_query_id()->CopyFrom(UniqueId(state->query_id()).to_proto()); |
109 | 0 | request.mutable_fragment_instance_id()->CopyFrom( |
110 | 0 | UniqueId(target.fragment_instance_id).to_proto()); |
111 | 0 | return request; |
112 | 0 | } |
113 | | |
114 | 0 | Status send_data_to_targets(RuntimeState* state, size_t round_offset) const { |
115 | 0 | if (targets.size() == 0) { |
116 | 0 | return Status::OK(); |
117 | 0 | } |
118 | 0 | int send_multi_blocks_byte_size = state->query_options().exchange_multi_blocks_byte_size; |
119 | 0 | int block_number_per_target = |
120 | 0 | int(blocks.size() - round_offset + targets.size() - 1) / targets.size(); |
121 | 0 | for (auto target : targets) { |
122 | 0 | auto stub = |
123 | 0 | state->get_query_ctx()->exec_env()->brpc_internal_client_cache()->get_client( |
124 | 0 | target.addr); |
125 | 0 | if (!stub) { |
126 | 0 | return Status::InternalError(fmt::format("Get rpc stub failed, host={}, port={}", |
127 | 0 | target.addr.hostname, target.addr.port)); |
128 | 0 | } |
129 | | |
130 | | // send blocks |
131 | 0 | int step = block_number_per_target; |
132 | 0 | while (round_offset < blocks.size() && step > 0) { |
133 | 0 | PTransmitRecCTEBlockParams request = build_basic_param(state, target); |
134 | 0 | auto current_bytes = 0; |
135 | 0 | while (round_offset < blocks.size() && step > 0 && |
136 | 0 | current_bytes < send_multi_blocks_byte_size) { |
137 | 0 | auto* pblock = request.add_blocks(); |
138 | 0 | size_t uncompressed_bytes = 0; |
139 | 0 | size_t compressed_bytes = 0; |
140 | 0 | int64_t compress_time; |
141 | 0 | RETURN_IF_ERROR(blocks[round_offset].serialize( |
142 | 0 | state->be_exec_version(), pblock, &uncompressed_bytes, |
143 | 0 | &compressed_bytes, &compress_time, |
144 | 0 | state->fragement_transmission_compression_type())); |
145 | 0 | round_offset++; |
146 | 0 | step--; |
147 | 0 | current_bytes += compressed_bytes; |
148 | 0 | } |
149 | 0 | request.set_eos(false); |
150 | |
|
151 | 0 | PTransmitRecCTEBlockResult result; |
152 | 0 | brpc::Controller controller; |
153 | 0 | controller.set_timeout_ms( |
154 | 0 | get_execution_rpc_timeout_ms(state->get_query_ctx()->execution_timeout())); |
155 | |
|
156 | 0 | stub->transmit_rec_cte_block(&controller, &request, &result, brpc::DoNothing()); |
157 | 0 | brpc::Join(controller.call_id()); |
158 | 0 | RETURN_IF_ERROR(Status::create(result.status())); |
159 | 0 | } |
160 | | |
161 | | // send eos |
162 | 0 | { |
163 | 0 | PTransmitRecCTEBlockParams request = build_basic_param(state, target); |
164 | 0 | request.set_eos(true); |
165 | |
|
166 | 0 | PTransmitRecCTEBlockResult result; |
167 | 0 | brpc::Controller controller; |
168 | 0 | stub->transmit_rec_cte_block(&controller, &request, &result, brpc::DoNothing()); |
169 | 0 | brpc::Join(controller.call_id()); |
170 | 0 | RETURN_IF_ERROR(Status::create(result.status())); |
171 | 0 | } |
172 | 0 | } |
173 | 0 | return Status::OK(); |
174 | 0 | } |
175 | | }; |
176 | | |
177 | | #include "common/compile_check_end.h" |
178 | | } // namespace doris |