This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit c7cf6a7a91bbce5ba2008c77adecba4122194381 Author: lihangyu <[email protected]> AuthorDate: Tue Oct 10 20:27:15 2023 +0800 [fix](stack trace) Optimize stack trace output (#24933) Status prints the stack trace, the first four frame pointers are removed, it doesn't make sense. Optimize stack trace field order. example: 0# doris::PlanFragmentExecutor::cancel(doris::PPlanFragmentCancelReason const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at doris/core/be/src/common/status.h:0 1# doris::FragmentMgr::cancel_query_unlocked(doris::TUniqueId const&, doris::PPlanFragmentCancelReason const&, std::unique_lock<std::mutex> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at doris/cor e/be/src/runtime/fragment_mgr.cpp:984 2# doris::FragmentMgr::cancel_query(doris::TUniqueId const&, doris::PPlanFragmentCancelReason const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at doris/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/ ../../../../include/x86_64-linux-gnu/c++/11/bits/gthr-default.h:778 3# long doris::MemTrackerLimiter::free_top_memory_query<doris::MemTrackerLimiter::TrackerLimiterGroup>(long, doris::MemTrackerLimiter::Type, std::vector<doris::MemTrackerLimiter::TrackerLimiterGroup, std::allocator<doris::MemTrackerLimiter::TrackerLimiterGroup> >&, s td::function<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, doris::RuntimeProfile*) at doris/ldb_toolchain/bin/../ lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:187 4# doris::MemTrackerLimiter::free_top_memory_query(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, doris::RuntimeProfile*, doris::Mem TrackerLimiter::Type) at doris/core/be/src/runtime/memory/mem_tracker_limiter.cpp:362 5# doris::MemInfo::process_full_gc() at doris/core/be/src/util/mem_info.cpp:198 6# doris::Daemon::memory_gc_thread() at doris/core/be/src/common/daemon.cpp:0 7# doris::Thread::supervise_thread(void*) at doris/ldb_toolchain/bin/../usr/include/pthread.h:562 8# start_thread 9# __clone --- be/src/vec/columns/column.h | 5 ----- be/src/vec/columns/column_array.h | 1 - be/src/vec/columns/column_complex.h | 4 ---- be/src/vec/columns/column_const.h | 2 -- be/src/vec/columns/column_decimal.h | 2 -- be/src/vec/columns/column_dictionary.h | 4 ---- be/src/vec/columns/column_fixed_length_object.h | 2 -- be/src/vec/columns/column_map.h | 1 - be/src/vec/columns/column_nullable.h | 2 -- be/src/vec/columns/column_object.cpp | 17 ++--------------- be/src/vec/columns/column_object.h | 2 -- be/src/vec/columns/column_string.h | 2 -- be/src/vec/columns/column_struct.h | 1 - be/src/vec/columns/column_vector.h | 1 - be/src/vec/columns/predicate_column.h | 4 ---- 15 files changed, 2 insertions(+), 48 deletions(-) diff --git a/be/src/vec/columns/column.h b/be/src/vec/columns/column.h index 23469e7e694..df4c66fa14c 100644 --- a/be/src/vec/columns/column.h +++ b/be/src/vec/columns/column.h @@ -149,11 +149,6 @@ public: virtual void set_rowset_segment_id(std::pair<RowsetId, uint32_t> rowset_segment_id) {} virtual std::pair<RowsetId, uint32_t> get_rowset_segment_id() const { return {}; } - // todo(Amory) from column to get data type is not correct ,column is memory data,can not to assume memory data belong to which data type - virtual TypeIndex get_data_type() const { - LOG(FATAL) << "Cannot get_data_type() column " << get_name(); - __builtin_unreachable(); - } /// Returns number of values in column. virtual size_t size() const = 0; diff --git a/be/src/vec/columns/column_array.h b/be/src/vec/columns/column_array.h index 6f317f5380a..68075d9f507 100644 --- a/be/src/vec/columns/column_array.h +++ b/be/src/vec/columns/column_array.h @@ -127,7 +127,6 @@ public: const char* get_family_name() const override { return "Array"; } bool is_column_array() const override { return true; } bool can_be_inside_nullable() const override { return true; } - TypeIndex get_data_type() const override { return TypeIndex::Array; } MutableColumnPtr clone_resized(size_t size) const override; size_t size() const override; void resize(size_t n) override; diff --git a/be/src/vec/columns/column_complex.h b/be/src/vec/columns/column_complex.h index 81cd6a45cb7..e63db5cb06f 100644 --- a/be/src/vec/columns/column_complex.h +++ b/be/src/vec/columns/column_complex.h @@ -127,10 +127,6 @@ public: LOG(FATAL) << "get_permutation not implemented"; } - [[noreturn]] TypeIndex get_data_type() const override { - LOG(FATAL) << "ColumnComplexType get_data_type not implemeted"; - } - void get_indices_of_non_default_rows(IColumn::Offsets64& indices, size_t from, size_t limit) const override { LOG(FATAL) << "get_indices_of_non_default_rows not implemented"; diff --git a/be/src/vec/columns/column_const.h b/be/src/vec/columns/column_const.h index e06902972ab..a3b9cd4de58 100644 --- a/be/src/vec/columns/column_const.h +++ b/be/src/vec/columns/column_const.h @@ -95,8 +95,6 @@ public: StringRef get_data_at(size_t) const override { return data->get_data_at(0); } - TypeIndex get_data_type() const override { return data->get_data_type(); } - UInt64 get64(size_t) const override { return data->get64(0); } UInt64 get_uint(size_t) const override { return data->get_uint(0); } diff --git a/be/src/vec/columns/column_decimal.h b/be/src/vec/columns/column_decimal.h index d6c06b3603a..8a90e826cba 100644 --- a/be/src/vec/columns/column_decimal.h +++ b/be/src/vec/columns/column_decimal.h @@ -232,8 +232,6 @@ public: void replicate(const uint32_t* indexs, size_t target_size, IColumn& column) const override; - TypeIndex get_data_type() const override { return TypeId<T>::value; } - void get_extremes(Field& min, Field& max) const override; MutableColumns scatter(IColumn::ColumnIndex num_columns, diff --git a/be/src/vec/columns/column_dictionary.h b/be/src/vec/columns/column_dictionary.h index b6db5af7e9e..46b49347229 100644 --- a/be/src/vec/columns/column_dictionary.h +++ b/be/src/vec/columns/column_dictionary.h @@ -114,10 +114,6 @@ public: void reserve(size_t n) override { _codes.reserve(n); } - [[noreturn]] TypeIndex get_data_type() const override { - LOG(FATAL) << "ColumnDictionary get_data_type not implemeted"; - } - const char* get_family_name() const override { return "ColumnDictionary"; } [[noreturn]] MutableColumnPtr clone_resized(size_t size) const override { diff --git a/be/src/vec/columns/column_fixed_length_object.h b/be/src/vec/columns/column_fixed_length_object.h index 4f83e4308c8..323fabd6256 100644 --- a/be/src/vec/columns/column_fixed_length_object.h +++ b/be/src/vec/columns/column_fixed_length_object.h @@ -200,8 +200,6 @@ public: LOG(FATAL) << "not support"; } - TypeIndex get_data_type() const override { LOG(FATAL) << "get_data_type not supported"; } - ColumnPtr index(const IColumn& indexes, size_t limit) const override { LOG(FATAL) << "index not supported"; } diff --git a/be/src/vec/columns/column_map.h b/be/src/vec/columns/column_map.h index c4edec97161..0c09f0a9dae 100644 --- a/be/src/vec/columns/column_map.h +++ b/be/src/vec/columns/column_map.h @@ -77,7 +77,6 @@ public: std::string get_name() const override; const char* get_family_name() const override { return "Map"; } - TypeIndex get_data_type() const override { return TypeIndex::Map; } void for_each_subcolumn(ColumnCallback callback) override { callback(keys_column); diff --git a/be/src/vec/columns/column_nullable.h b/be/src/vec/columns/column_nullable.h index 261eea0f61a..465e7dc2d96 100644 --- a/be/src/vec/columns/column_nullable.h +++ b/be/src/vec/columns/column_nullable.h @@ -115,8 +115,6 @@ public: UInt64 get64(size_t n) const override { return nested_column->get64(n); } StringRef get_data_at(size_t n) const override; - TypeIndex get_data_type() const override { return TypeIndex::Nullable; } - /// Will insert null value if pos=nullptr void insert_data(const char* pos, size_t length) override; diff --git a/be/src/vec/columns/column_object.cpp b/be/src/vec/columns/column_object.cpp index 050939f8fa0..dd2364883cb 100644 --- a/be/src/vec/columns/column_object.cpp +++ b/be/src/vec/columns/column_object.cpp @@ -84,21 +84,8 @@ size_t getNumberOfDimensions(const IDataType& type) { } DataTypePtr get_data_type_by_column(const IColumn& column) { - auto idx = column.get_data_type(); - if (WhichDataType(idx).is_simple()) { - return DataTypeFactory::instance().create_data_type(idx); - } - if (WhichDataType(idx).is_nothing()) { - return std::make_shared<DataTypeNothing>(); - } - if (const auto* column_array = check_and_get_column<ColumnArray>(&column)) { - return std::make_shared<DataTypeArray>(get_data_type_by_column(column_array->get_data())); - } - if (const auto* column_nullable = check_and_get_column<ColumnNullable>(&column)) { - return make_nullable(get_data_type_by_column(column_nullable->get_nested_column())); - } - // TODO add more types - assert(false); + // Removed in the future PR + // assert(false); return nullptr; } diff --git a/be/src/vec/columns/column_object.h b/be/src/vec/columns/column_object.h index 4febce3b52d..46330b69d43 100644 --- a/be/src/vec/columns/column_object.h +++ b/be/src/vec/columns/column_object.h @@ -266,8 +266,6 @@ public: /// Part of interface const char* get_family_name() const override { return "Variant"; } - TypeIndex get_data_type() const override { return TypeIndex::VARIANT; } - size_t size() const override; MutableColumnPtr clone_resized(size_t new_size) const override; diff --git a/be/src/vec/columns/column_string.h b/be/src/vec/columns/column_string.h index 26a7093140b..941ec573759 100644 --- a/be/src/vec/columns/column_string.h +++ b/be/src/vec/columns/column_string.h @@ -592,8 +592,6 @@ public: return shrinked_column; } - TypeIndex get_data_type() const override { return TypeIndex::String; } - void get_indices_of_non_default_rows(Offsets64& indices, size_t from, size_t limit) const override { return get_indices_of_non_default_rows_impl<ColumnString>(indices, from, limit); diff --git a/be/src/vec/columns/column_struct.h b/be/src/vec/columns/column_struct.h index ba9c222b6a8..9d219c3c989 100644 --- a/be/src/vec/columns/column_struct.h +++ b/be/src/vec/columns/column_struct.h @@ -83,7 +83,6 @@ public: std::string get_name() const override; const char* get_family_name() const override { return "Struct"; } - TypeIndex get_data_type() const override { return TypeIndex::Struct; } bool can_be_inside_nullable() const override { return true; } MutableColumnPtr clone_empty() const override; MutableColumnPtr clone_resized(size_t size) const override; diff --git a/be/src/vec/columns/column_vector.h b/be/src/vec/columns/column_vector.h index fc4015e55b4..edb27695c07 100644 --- a/be/src/vec/columns/column_vector.h +++ b/be/src/vec/columns/column_vector.h @@ -470,7 +470,6 @@ public: void compare_internal(size_t rhs_row_id, const IColumn& rhs, int nan_direction_hint, int direction, std::vector<uint8>& cmp_res, uint8* __restrict filter) const override; - TypeIndex get_data_type() const override { return TypeId<T>::value; } void get_indices_of_non_default_rows(IColumn::Offsets64& indices, size_t from, size_t limit) const override { return this->template get_indices_of_non_default_rows_impl<Self>(indices, from, limit); diff --git a/be/src/vec/columns/predicate_column.h b/be/src/vec/columns/predicate_column.h index 655ef6d0e58..e174e3542bd 100644 --- a/be/src/vec/columns/predicate_column.h +++ b/be/src/vec/columns/predicate_column.h @@ -472,10 +472,6 @@ public: LOG(FATAL) << "append_data_by_selector is not supported in PredicateColumnType!"; } - [[noreturn]] TypeIndex get_data_type() const override { - LOG(FATAL) << "PredicateColumnType get_data_type not implemeted"; - } - Status filter_by_selector(const uint16_t* sel, size_t sel_size, IColumn* col_ptr) override { if constexpr (std::is_same_v<T, StringRef>) { insert_string_to_res_column(sel, sel_size, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
