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

Method Close

be/src/exec/base-sequence-scanner.cc:123–156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121}
122
123void BaseSequenceScanner::Close(RowBatch* row_batch) {
124 DCHECK(!is_closed_);
125 VLOG_FILE << "Bytes read past scan range: " << (stream_ == nullptr ? 0 :
126 -stream_->bytes_left());
127 VLOG_FILE << "Average block size: "
128 << (num_syncs_ > 1 ? total_block_size_ / (num_syncs_ - 1) : 0);
129 // Need to close the decompressor before releasing the resources at AddFinalRowBatch(),
130 // because in some cases there is memory allocated in decompressor_'s temp_memory_pool_.
131 if (decompressor_.get() != nullptr) {
132 decompressor_->Close();
133 decompressor_.reset();
134 }
135 if (row_batch != nullptr) {
136 row_batch->tuple_data_pool()->AcquireData(data_buffer_pool_.get(), false);
137 row_batch->tuple_data_pool()->AcquireData(template_tuple_pool_.get(), false);
138 if (scan_node_->HasRowBatchQueue()) {
139 static_cast<HdfsScanNode*>(scan_node_)->AddMaterializedRowBatch(
140 unique_ptr<RowBatch>(row_batch));
141 }
142 } else {
143 data_buffer_pool_->FreeAll();
144 template_tuple_pool_->FreeAll();
145 }
146 context_->ReleaseCompletedResources(true);
147
148 // Verify all resources (if any) have been transferred.
149 DCHECK_EQ(template_tuple_pool_.get()->total_allocated_bytes(), 0);
150 DCHECK_EQ(data_buffer_pool_.get()->total_allocated_bytes(), 0);
151 // 'header_' can be nullptr if HdfsScanNodeBase::CreateAndOpenScanner() failed.
152 if (!only_parsing_header_ && header_ != nullptr) {
153 scan_node_->RangeComplete(file_format(), header_->compression_type);
154 }
155 CloseInternal();
156}
157
158Status BaseSequenceScanner::GetNextInternal(RowBatch* row_batch) {
159 if (only_parsing_header_) {

Callers

nothing calls this directly

Calls 11

AcquireDataMethod · 0.80
tuple_data_poolMethod · 0.80
getMethod · 0.65
resetMethod · 0.65
bytes_leftMethod · 0.45
HasRowBatchQueueMethod · 0.45
FreeAllMethod · 0.45
total_allocated_bytesMethod · 0.45
RangeCompleteMethod · 0.45

Tested by

no test coverage detected