Skip to content

Commit 05f6e1b

Browse files
authored
[fix](memtracker) Fix open query profile to print the complete mem limit exceed log apache#12339
1 parent 38937c1 commit 05f6e1b

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

be/src/runtime/memory/mem_tracker_limiter.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ bool MemTrackerLimiter::gc_memory(int64_t max_consumption) {
151151
Status MemTrackerLimiter::try_gc_memory(int64_t bytes) {
152152
if (UNLIKELY(gc_memory(_limit - bytes))) {
153153
return Status::MemoryLimitExceeded(fmt::format(
154-
"failed_alloc_size={}B, exceeded_tracker={}, limit={}B, peak_used={}B, "
155-
"current_used={}B",
154+
"failed_alloc_size={} B, exceeded_tracker={}, limit={} B, peak_used={} B, "
155+
"current_used={} B",
156156
bytes, label(), _limit, _consumption->value(), _consumption->current_value()));
157157
}
158158
VLOG_NOTICE << "GC succeeded, TryConsume bytes=" << bytes
@@ -281,8 +281,8 @@ Status MemTrackerLimiter::mem_limit_exceeded(const std::string& msg,
281281
MemTrackerLimiter* print_log_usage_tracker = nullptr;
282282
if (exceeded_tracker != nullptr) {
283283
detail += fmt::format(
284-
"failed_alloc_size={}B, exceeded_tracker={}, limit={}B, peak_used={}B, "
285-
"current_used={}B>, executing_msg:<{}>",
284+
"failed_alloc_size={} B, exceeded_tracker={}, limit={} B, peak_used={} B, "
285+
"current_used={} B>, executing_msg:<{}>",
286286
PrettyPrinter::print(failed_allocation_size, TUnit::BYTES),
287287
exceeded_tracker->label(), exceeded_tracker->limit(),
288288
exceeded_tracker->peak_consumption(), exceeded_tracker->consumption(), msg);
@@ -292,8 +292,8 @@ Status MemTrackerLimiter::mem_limit_exceeded(const std::string& msg,
292292
} else if (max_consumption_tracker != nullptr) {
293293
// must after check_sys_mem_info false
294294
detail += fmt::format(
295-
"failed_alloc_size={}B, max_consumption_tracker={}, limit={}B, peak_used={}B, "
296-
"current_used={}B>, executing_msg:<{}>",
295+
"failed_alloc_size={} B, max_consumption_tracker={}, limit={} B, peak_used={} B, "
296+
"current_used={} B>, executing_msg:<{}>",
297297
PrettyPrinter::print(failed_allocation_size, TUnit::BYTES),
298298
max_consumption_tracker->label(), max_consumption_tracker->limit(),
299299
max_consumption_tracker->peak_consumption(), max_consumption_tracker->consumption(),

be/src/runtime/memory/mem_tracker_limiter.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class MemTrackerLimiter final : public MemTracker {
7171
// for fast, expect MemInfo::initialized() to be true.
7272
if (PerfCounters::get_vm_rss() + bytes >= MemInfo::mem_limit()) {
7373
auto st = Status::MemoryLimitExceeded(
74-
"process memory used {} exceed limit {}, failed_alloc_size={}",
74+
"process memory used {} B, exceed limit {} B, failed_alloc_size={} B",
7575
PerfCounters::get_vm_rss(), MemInfo::mem_limit(), bytes);
7676
ExecEnv::GetInstance()->process_mem_tracker_raw()->print_log_usage(st.get_error_msg());
7777
return st;
@@ -229,7 +229,7 @@ class MemTrackerLimiter final : public MemTracker {
229229
// The number of child trackers that have been added.
230230
std::atomic_size_t _had_child_count = 0;
231231

232-
bool _print_log_usage = true;
232+
bool _print_log_usage = false;
233233

234234
// Lock to protect gc_memory(). This prevents many GCs from occurring at once.
235235
std::mutex _gc_lock;

be/src/runtime/runtime_state.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,11 @@ Status RuntimeState::init_mem_trackers(const TUniqueId& query_id) {
246246
-1, "RuntimeState:instance:" + print_id(_fragment_instance_id), _query_mem_tracker,
247247
&_profile);
248248

249+
if (_query_options.is_report_success) {
250+
_query_mem_tracker->enable_print_log_usage();
251+
_instance_mem_tracker->enable_print_log_usage();
252+
}
253+
249254
return Status::OK();
250255
}
251256

0 commit comments

Comments
 (0)