From 1a1810a6ce42e2c40d59368cf7a6a54134f7884c Mon Sep 17 00:00:00 2001 From: gavinchou Date: Tue, 19 May 2026 00:26:18 +0800 Subject: [PATCH] Fix meta tool build on branch-4.1 --- be/src/tools/CMakeLists.txt | 2 ++ be/src/tools/meta_tool.cpp | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/be/src/tools/CMakeLists.txt b/be/src/tools/CMakeLists.txt index 1592108b7cfcb9..3307e268af6103 100644 --- a/be/src/tools/CMakeLists.txt +++ b/be/src/tools/CMakeLists.txt @@ -25,6 +25,8 @@ add_executable(meta_tool meta_tool.cpp ) +target_include_directories(meta_tool PRIVATE ${PROJECT_SOURCE_DIR}/..) + pch_reuse(meta_tool) # This permits libraries loaded by dlopen to link to the symbols in the program. diff --git a/be/src/tools/meta_tool.cpp b/be/src/tools/meta_tool.cpp index 7857b3a5ad7a8d..cf5c1b7a3126e9 100644 --- a/be/src/tools/meta_tool.cpp +++ b/be/src/tools/meta_tool.cpp @@ -631,7 +631,7 @@ void print_column_data_values(const doris::segment_v2::ColumnMetaPB& column_meta return; } - MutableColumnPtr dst_column = data_type->create_column(); + doris::MutableColumnPtr dst_column = data_type->create_column(); // Determine how many rows to display (max 10 rows for readability) const size_t max_display_rows = 10; @@ -658,11 +658,11 @@ void print_column_data_values(const doris::segment_v2::ColumnMetaPB& column_meta for (size_t i = 0; i < rows_read; ++i) { std::cout << indent << " [" << i << "] "; if (column_meta.is_nullable()) { - const auto& nullable_col = assert_cast(*dst_column); + const auto& nullable_col = assert_cast(*dst_column); if (nullable_col.is_null_at(i)) { std::cout << "NULL"; } else { - const IColumn& nested_col = nullable_col.get_nested_column(); + const doris::IColumn& nested_col = nullable_col.get_nested_column(); std::cout << format_column_value(nested_col, i, field_type); } } else { @@ -764,11 +764,12 @@ void print_column_meta(const doris::segment_v2::ColumnMetaPB& column_meta, } // Register hijacked accessors -ACCESS_PRIVATE_FIELD(ExecEnv_encoding_info_resolver, ExecEnv, +ACCESS_PRIVATE_FIELD(ExecEnv_encoding_info_resolver, doris::ExecEnv, doris::segment_v2::EncodingInfoResolver*, _encoding_info_resolver); -ACCESS_PRIVATE_FIELD(ExecEnv_orphan_mem_tracker, ExecEnv, std::shared_ptr, - _orphan_mem_tracker); -ACCESS_PRIVATE_STATIC_FIELD(ExecEnv_tracking_memory, ExecEnv, std::atomic_bool, _s_tracking_memory); +ACCESS_PRIVATE_FIELD(ExecEnv_orphan_mem_tracker, doris::ExecEnv, + std::shared_ptr, _orphan_mem_tracker); +ACCESS_PRIVATE_STATIC_FIELD(ExecEnv_tracking_memory, doris::ExecEnv, std::atomic_bool, + _s_tracking_memory); void show_segment_data(const std::string& file_name) { // Initialize ExecEnv components needed for ColumnReader @@ -779,15 +780,15 @@ void show_segment_data(const std::string& file_name) { auto mem_tracker = GET_PRIVATE_FIELD(ExecEnv_orphan_mem_tracker); auto tracking_memory = GET_PRIVATE_STATIC_FIELD(ExecEnv_tracking_memory); // Initialize encoding info resolver for ColumnReader - if (exec_env.*resolver == nullptr) { - exec_env.*resolver = new doris::segment_v2::EncodingInfoResolver(); + if ((*exec_env).*resolver == nullptr) { + (*exec_env).*resolver = new doris::segment_v2::EncodingInfoResolver(); } // Initialize mem tracker limiter pool and orphan mem tracker for ThreadMemTrackerMgr if (exec_env->mem_tracker_limiter_pool.empty()) { exec_env->mem_tracker_limiter_pool.resize(doris::MEM_TRACKER_GROUP_NUM, doris::TrackerLimiterGroup()); tracking_memory->store(true, std::memory_order_release); - exec_env.*mem_tracker = doris::MemTrackerLimiter::create_shared( + (*exec_env).*mem_tracker = doris::MemTrackerLimiter::create_shared( doris::MemTrackerLimiter::Type::GLOBAL, "Orphan"); }