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

Method GetBuffer

be/src/runtime/bufferpool/buffer-pool.cc:97–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

95}
96
97Status BufferPool::PageHandle::GetBuffer(const BufferHandle** buffer) const {
98 DCHECK(is_open());
99 DCHECK(client_->is_registered());
100 DCHECK(is_pinned());
101 // Dirty check to see if we might need to wait for the pin to finish (this
102 // avoids the lock acquisition in the common case).
103 if (page_->pin_in_flight.Load()) {
104 // Finish the work started in Pin().
105 RETURN_IF_ERROR(client_->impl_->FinishMoveEvictedToPinned(page_));
106 }
107 DCHECK(!page_->pin_in_flight.Load());
108 *buffer = &page_->buffer;
109 DCHECK((*buffer)->is_open());
110 return Status::OK();
111}
112
113BufferPool::BufferPool(MetricGroup* metrics, int64_t min_buffer_len,
114 int64_t buffer_bytes_limit, int64_t clean_page_bytes_limit)

Callers 6

WaitForBufferMethod · 0.45
CheckConsistencyFastMethod · 0.45
InitReadPtrsMethod · 0.45
ExtractBufferMethod · 0.45
GetMemRangeMethod · 0.45
TEST_FFunction · 0.45

Calls 5

OKFunction · 0.85
is_registeredMethod · 0.80
LoadMethod · 0.45
is_openMethod · 0.45

Tested by 2

GetMemRangeMethod · 0.36
TEST_FFunction · 0.36