This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-1.1-lts in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.1-lts by this push: new c77c8b0d7f [branch-1.1-lts](metracker) Fix compaction tracker #13082 c77c8b0d7f is described below commit c77c8b0d7ffac6a9be3d4a228421c30e02c936f8 Author: Xinyi Zou <zouxiny...@gmail.com> AuthorDate: Fri Sep 30 13:00:07 2022 +0800 [branch-1.1-lts](metracker) Fix compaction tracker #13082 --- be/src/http/default_path_handlers.cpp | 8 ++++---- be/src/olap/base_compaction.cpp | 2 +- be/src/olap/compaction.cpp | 10 +++++++++- be/src/olap/compaction.h | 4 ++++ be/src/olap/cumulative_compaction.cpp | 2 +- be/src/util/mem_info.cpp | 2 +- 6 files changed, 20 insertions(+), 8 deletions(-) diff --git a/be/src/http/default_path_handlers.cpp b/be/src/http/default_path_handlers.cpp index 3efed02a09..abde990673 100644 --- a/be/src/http/default_path_handlers.cpp +++ b/be/src/http/default_path_handlers.cpp @@ -151,16 +151,16 @@ void mem_tracker_handler(const WebPageHandler::ArgumentMap& args, std::stringstr for (const shared_ptr<MemTracker>& tracker : trackers) { string parent = tracker->parent() == nullptr ? "none" : tracker->parent()->label(); string limit_str = tracker->limit() == -1 ? "none" : ItoaKMGT(tracker->limit()); - string current_consumption_str = ItoaKMGT(tracker->consumption()); - string peak_consumption_str = ItoaKMGT(tracker->peak_consumption()); + int64_t current_consumption = tracker->consumption(); + int64_t peak_consumption = tracker->peak_consumption(); int64_t use_count = tracker.use_count(); string current_consumption_normalize = AccurateItoaKMGT(tracker->consumption()); string peak_consumption_normalize = AccurateItoaKMGT(tracker->peak_consumption()); (*output) << strings::Substitute( "<tr><td>$0</td><td>$1</td><td>$2</td><td>$3</td><td>$4</td><td>$5</td><td>$6</" "td><td>$7</td><td>$8</td></tr>\n", - -1, tracker->label(), parent, limit_str, current_consumption_str, - current_consumption_normalize, peak_consumption_str, peak_consumption_normalize, + -1, tracker->label(), parent, limit_str, current_consumption, + current_consumption_normalize, peak_consumption, peak_consumption_normalize, use_count); } diff --git a/be/src/olap/base_compaction.cpp b/be/src/olap/base_compaction.cpp index 6277e2417b..37125cde52 100644 --- a/be/src/olap/base_compaction.cpp +++ b/be/src/olap/base_compaction.cpp @@ -65,7 +65,7 @@ OLAPStatus BaseCompaction::execute_compact_impl() { return OLAP_ERR_BE_CLONE_OCCURRED; } - SCOPED_ATTACH_TASK(StorageEngine::instance()->new_compaction_mem_tracker(), ThreadContext::TaskType::COMPACTION); + SCOPED_ATTACH_TASK(_new_mem_tracker, ThreadContext::TaskType::COMPACTION); // 2. do base compaction, merge rowsets int64_t permits = get_compaction_permits(); diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index 3ebcf65389..ed09b15e83 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -36,7 +36,15 @@ Compaction::Compaction(TabletSharedPtr tablet, const std::string& label, _tablet(tablet), _input_rowsets_size(0), _input_row_num(0), - _state(CompactionState::INITED) {} + _state(CompactionState::INITED) { +#ifndef BE_TEST + _new_mem_tracker = std::make_shared<MemTrackerLimiter>( + -1, label, StorageEngine::instance()->new_compaction_mem_tracker()); + _new_mem_tracker->enable_reset_zero(); +#else + _new_mem_tracker = std::make_shared<MemTrackerLimiter>(-1, label); +#endif +} Compaction::~Compaction() {} diff --git a/be/src/olap/compaction.h b/be/src/olap/compaction.h index 8b77b78a39..026b78dd7b 100644 --- a/be/src/olap/compaction.h +++ b/be/src/olap/compaction.h @@ -90,6 +90,10 @@ protected: // the child of root, only track rowset writer mem std::shared_ptr<MemTracker> _writer_tracker; + + // the root tracker for this compaction + std::shared_ptr<MemTrackerLimiter> _new_mem_tracker; + TabletSharedPtr _tablet; std::vector<RowsetSharedPtr> _input_rowsets; diff --git a/be/src/olap/cumulative_compaction.cpp b/be/src/olap/cumulative_compaction.cpp index 15de430609..140e0a31da 100644 --- a/be/src/olap/cumulative_compaction.cpp +++ b/be/src/olap/cumulative_compaction.cpp @@ -72,7 +72,7 @@ OLAPStatus CumulativeCompaction::execute_compact_impl() { return OLAP_ERR_CUMULATIVE_CLONE_OCCURRED; } - SCOPED_ATTACH_TASK(StorageEngine::instance()->new_compaction_mem_tracker(), ThreadContext::TaskType::COMPACTION); + SCOPED_ATTACH_TASK(_new_mem_tracker, ThreadContext::TaskType::COMPACTION); // 3. do cumulative compaction, merge rowsets int64_t permits = get_compaction_permits(); diff --git a/be/src/util/mem_info.cpp b/be/src/util/mem_info.cpp index 66e9a97ff1..674c053136 100644 --- a/be/src/util/mem_info.cpp +++ b/be/src/util/mem_info.cpp @@ -98,7 +98,7 @@ void MemInfo::init() { _s_mem_limit_str = PrettyPrinter::print(_s_mem_limit, TUnit::BYTES); _s_hard_mem_limit = _s_physical_mem - std::min(209715200L, _s_physical_mem / 10); // 200M - LOG(INFO) << "Physical Memory: " << PrettyPrinter::print(_s_physical_mem, TUnit::BYTES); + LOG(INFO) << "Physical Memory: " << PrettyPrinter::print(_s_physical_mem, TUnit::BYTES) << ", /proc/meminfo/MemTotal: " << line; _s_initialized = true; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org