MCPcopy Create free account
hub / github.com/apache/impala / TryConsumeFromMemTracker

Method TryConsumeFromMemTracker

be/src/runtime/bufferpool/reservation-tracker.cc:239–254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

237}
238
239bool ReservationTracker::TryConsumeFromMemTracker(
240 int64_t reservation_increase, MemLimit mem_limit_mode) {
241 DCHECK_GE(reservation_increase, 0);
242 if (mem_tracker_ == nullptr) return true;
243 if (GetParentMemTracker() == nullptr) {
244 // At the topmost link, which may be a MemTracker with a limit, we need to use
245 // TryConsume() to check the limit.
246 return mem_tracker_->TryConsume(reservation_increase, mem_limit_mode);
247 } else {
248 // For lower links, there shouldn't be a limit to enforce, so we just need to
249 // update the consumption of the linked MemTracker since the reservation is
250 // already reflected in its parent.
251 mem_tracker_->ConsumeLocal(reservation_increase, GetParentMemTracker());
252 return true;
253 }
254}
255
256void ReservationTracker::ReleaseToMemTracker(int64_t reservation_decrease) {
257 DCHECK_GE(reservation_decrease, 0);

Callers 1

TransferReservationToMethod · 0.80

Calls 2

ConsumeLocalMethod · 0.80
TryConsumeMethod · 0.45

Tested by

no test coverage detected