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 | | |
26 | | struct RecCTESharedState : public BasicSharedState { |
27 | | std::vector<TRecCTETarget> targets; |
28 | | std::vector<Block> blocks; |
29 | | IColumn::Selector distinct_row; |
30 | | Dependency* source_dep = nullptr; |
31 | | Dependency* anchor_dep = nullptr; |
32 | | Arena arena; |
33 | | RuntimeProfile::Counter* hash_table_compute_timer = nullptr; |
34 | | RuntimeProfile::Counter* hash_table_emplace_timer = nullptr; |
35 | | RuntimeProfile::Counter* hash_table_input_counter = nullptr; |
36 | | |
37 | | std::unique_ptr<DistinctDataVariants> agg_data = nullptr; |
38 | | |
39 | | int current_round = 0; |
40 | | int last_round_offset = 0; |
41 | | int max_recursion_depth = 0; |
42 | | bool ready_to_return = false; |
43 | | |
44 | 0 | void update_ready_to_return() { |
45 | 0 | if (last_round_offset == blocks.size()) { |
46 | 0 | ready_to_return = true; |
47 | 0 | } |
48 | 0 | } |
49 | | |
50 | 0 | Status emplace_block(RuntimeState* state, Block&& block) { |
51 | 0 | if (agg_data) { |
52 | 0 | auto num_rows = uint32_t(block.rows()); |
53 | 0 | ColumnRawPtrs raw_columns; |
54 | 0 | std::vector<ColumnPtr> columns = block.get_columns_and_convert(); |
55 | 0 | for (auto& col : columns) { |
56 | 0 | raw_columns.push_back(col.get()); |
57 | 0 | } |
58 | |
|
59 | 0 | std::visit(Overload {[&](std::monostate& arg) -> void { |
60 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
61 | 0 | "uninited hash table"); |
62 | 0 | }, |
63 | 0 | [&](auto& agg_method) -> void { |
64 | 0 | SCOPED_TIMER(hash_table_compute_timer); |
65 | 0 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
66 | 0 | using AggState = typename HashMethodType::State; |
67 | |
|
68 | 0 | AggState agg_state(raw_columns); |
69 | 0 | agg_method.init_serialized_keys(raw_columns, num_rows); |
70 | 0 | distinct_row.clear(); |
71 | |
|
72 | 0 | size_t row = 0; |
73 | 0 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { |
74 | 0 | HashMethodType::try_presis_key(key, origin, arena); |
75 | 0 | ctor(key); |
76 | 0 | distinct_row.push_back(row); |
77 | 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_ |
78 | 0 | auto creator_for_null_key = [&]() { |
79 | 0 | distinct_row.push_back(row); |
80 | 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 |
81 | |
|
82 | 0 | SCOPED_TIMER(hash_table_emplace_timer); |
83 | 0 | lazy_emplace_batch_void(agg_method, agg_state, num_rows, |
84 | 0 | creator, creator_for_null_key, |
85 | 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 |
86 | 0 | COUNTER_UPDATE(hash_table_input_counter, num_rows); |
87 | 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_ |
88 | 0 | agg_data->method_variant); |
89 | |
|
90 | 0 | if (distinct_row.size() == block.rows()) { |
91 | 0 | blocks.emplace_back(std::move(block)); |
92 | 0 | } else if (!distinct_row.empty()) { |
93 | 0 | auto distinct_block = MutableBlock(block.clone_empty()); |
94 | 0 | RETURN_IF_ERROR(block.append_to_block_by_selector(&distinct_block, distinct_row)); |
95 | 0 | blocks.emplace_back(distinct_block.to_block()); |
96 | 0 | } |
97 | 0 | } else { |
98 | 0 | blocks.emplace_back(std::move(block)); |
99 | 0 | } |
100 | 0 | return Status::OK(); |
101 | 0 | } |
102 | | |
103 | | PTransmitRecCTEBlockParams build_basic_param(RuntimeState* state, |
104 | 0 | const TRecCTETarget& target) const { |
105 | 0 | PTransmitRecCTEBlockParams request; |
106 | 0 | request.set_node_id(target.node_id); |
107 | 0 | request.mutable_query_id()->CopyFrom(UniqueId(state->query_id()).to_proto()); |
108 | 0 | request.mutable_fragment_instance_id()->CopyFrom( |
109 | 0 | UniqueId(target.fragment_instance_id).to_proto()); |
110 | 0 | return request; |
111 | 0 | } |
112 | | |
113 | 0 | Status send_data_to_targets(RuntimeState* state, size_t round_offset) const { |
114 | 0 | if (targets.size() == 0) { |
115 | 0 | return Status::OK(); |
116 | 0 | } |
117 | 0 | int send_multi_blocks_byte_size = state->query_options().exchange_multi_blocks_byte_size; |
118 | 0 | int block_number_per_target = |
119 | 0 | int(blocks.size() - round_offset + targets.size() - 1) / targets.size(); |
120 | 0 | for (auto target : targets) { |
121 | 0 | auto stub = |
122 | 0 | state->get_query_ctx()->exec_env()->brpc_internal_client_cache()->get_client( |
123 | 0 | target.addr); |
124 | 0 | if (!stub) { |
125 | 0 | return Status::InternalError(fmt::format("Get rpc stub failed, host={}, port={}", |
126 | 0 | target.addr.hostname, target.addr.port)); |
127 | 0 | } |
128 | | |
129 | | // send blocks |
130 | 0 | int step = block_number_per_target; |
131 | 0 | while (round_offset < blocks.size() && step > 0) { |
132 | 0 | PTransmitRecCTEBlockParams request = build_basic_param(state, target); |
133 | 0 | auto current_bytes = 0; |
134 | 0 | while (round_offset < blocks.size() && step > 0 && |
135 | 0 | current_bytes < send_multi_blocks_byte_size) { |
136 | 0 | auto* pblock = request.add_blocks(); |
137 | 0 | size_t uncompressed_bytes = 0; |
138 | 0 | size_t compressed_bytes = 0; |
139 | 0 | int64_t compress_time; |
140 | 0 | RETURN_IF_ERROR(blocks[round_offset].serialize( |
141 | 0 | state->be_exec_version(), pblock, &uncompressed_bytes, |
142 | 0 | &compressed_bytes, &compress_time, |
143 | 0 | state->fragement_transmission_compression_type())); |
144 | 0 | round_offset++; |
145 | 0 | step--; |
146 | 0 | current_bytes += compressed_bytes; |
147 | 0 | } |
148 | 0 | request.set_eos(false); |
149 | |
|
150 | 0 | PTransmitRecCTEBlockResult result; |
151 | 0 | brpc::Controller controller; |
152 | 0 | controller.set_timeout_ms( |
153 | 0 | get_execution_rpc_timeout_ms(state->get_query_ctx()->execution_timeout())); |
154 | |
|
155 | 0 | stub->transmit_rec_cte_block(&controller, &request, &result, brpc::DoNothing()); |
156 | 0 | brpc::Join(controller.call_id()); |
157 | 0 | RETURN_IF_ERROR(Status::create(result.status())); |
158 | 0 | } |
159 | | |
160 | | // send eos |
161 | 0 | { |
162 | 0 | PTransmitRecCTEBlockParams request = build_basic_param(state, target); |
163 | 0 | request.set_eos(true); |
164 | |
|
165 | 0 | PTransmitRecCTEBlockResult result; |
166 | 0 | brpc::Controller controller; |
167 | 0 | stub->transmit_rec_cte_block(&controller, &request, &result, brpc::DoNothing()); |
168 | 0 | brpc::Join(controller.call_id()); |
169 | 0 | RETURN_IF_ERROR(Status::create(result.status())); |
170 | 0 | } |
171 | 0 | } |
172 | 0 | return Status::OK(); |
173 | 0 | } |
174 | | }; |
175 | | |
176 | | } // namespace doris |