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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]