This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new b10073ad9ca [branch-4.1] Fix meta tool build (#63371)
b10073ad9ca is described below
commit b10073ad9ca17cd5685c4dd3b3ef650f256376d0
Author: Gavin Chou <[email protected]>
AuthorDate: Tue May 19 13:38:55 2026 +0800
[branch-4.1] Fix meta tool build (#63371)
## Proposed changes
Fix meta_tool build on branch-4.1 by:
- adding the repository root include path for meta_tool so
common/cpp/private_member_accessor.hpp can be resolved
- qualifying Doris types in meta_tool.cpp
- fixing private member pointer access through ExecEnv*
## Testing
- sh format_code.sh be/src/tools/meta_tool.cpp
- sh build.sh --be --meta-tool -j100
Co-authored-by: gavinchou <[email protected]>
---
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 1592108b7cf..3307e268af6 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 7857b3a5ad7..cf5c1b7a312 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<const
ColumnNullable&>(*dst_column);
+ const auto& nullable_col = assert_cast<const
doris::ColumnNullable&>(*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<doris::MemTrackerLimiter>,
- _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<doris::MemTrackerLimiter>,
_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");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]