@@ -165,7 +165,7 @@ Status ShuffleExchanger::get_block(RuntimeState* state, vectorized::Block* block
165165 if (_dequeue_data (source_info.local_state , partitioned_block, eos, block,
166166 source_info.channel_id )) {
167167 SCOPED_TIMER (profile.copy_data_timer );
168- mutable_block = vectorized::VectorizedUtils::build_mutable_mem_reuse_block (
168+ mutable_block = vectorized::VectorizedUtils::build_mutable_block (
169169 block, partitioned_block.first ->_data_block );
170170 RETURN_IF_ERROR (get_data ());
171171 }
@@ -198,9 +198,6 @@ Status ShuffleExchanger::_split_rows(RuntimeState* state, const uint32_t* __rest
198198
199199 vectorized::Block data_block;
200200 std::shared_ptr<BlockWrapper> new_block_wrapper;
201- if (!_free_blocks.try_dequeue (data_block)) {
202- data_block = block->clone_empty ();
203- }
204201 data_block.swap (*block);
205202 new_block_wrapper =
206203 BlockWrapper::create_shared (std::move (data_block), local_state->_shared_state , -1 );
@@ -264,9 +261,6 @@ Status ShuffleExchanger::_split_rows(RuntimeState* state, const uint32_t* __rest
264261
265262 vectorized::Block data_block;
266263 std::shared_ptr<BlockWrapper> new_block_wrapper;
267- if (!_free_blocks.try_dequeue (data_block)) {
268- data_block = block->clone_empty ();
269- }
270264 data_block.swap (*block);
271265 new_block_wrapper = BlockWrapper::create_shared (std::move (data_block), nullptr , -1 );
272266 if (new_block_wrapper->_data_block .empty ()) {
@@ -289,9 +283,6 @@ Status PassthroughExchanger::sink(RuntimeState* state, vectorized::Block* in_blo
289283 return Status::OK ();
290284 }
291285 vectorized::Block new_block;
292- if (!_free_blocks.try_dequeue (new_block)) {
293- new_block = {in_block->clone_empty ()};
294- }
295286 new_block.swap (*in_block);
296287 auto channel_id = ((*sink_info.channel_id )++) % _num_partitions;
297288 BlockWrapperSPtr wrapper = BlockWrapper::create_shared (
@@ -341,9 +332,6 @@ Status PassToOneExchanger::sink(RuntimeState* state, vectorized::Block* in_block
341332 return Status::OK ();
342333 }
343334 vectorized::Block new_block;
344- if (!_free_blocks.try_dequeue (new_block)) {
345- new_block = {in_block->clone_empty ()};
346- }
347335 new_block.swap (*in_block);
348336
349337 BlockWrapperSPtr wrapper = BlockWrapper::create_shared (
@@ -370,10 +358,6 @@ Status PassToOneExchanger::get_block(RuntimeState* state, vectorized::Block* blo
370358
371359void ExchangerBase::finalize () {
372360 DCHECK (_running_source_operators == 0 );
373- vectorized::Block block;
374- while (_free_blocks.try_dequeue (block)) {
375- // do nothing
376- }
377361}
378362
379363Status BroadcastExchanger::sink (RuntimeState* state, vectorized::Block* in_block, bool eos,
@@ -382,9 +366,6 @@ Status BroadcastExchanger::sink(RuntimeState* state, vectorized::Block* in_block
382366 return Status::OK ();
383367 }
384368 vectorized::Block new_block;
385- if (!_free_blocks.try_dequeue (new_block)) {
386- new_block = {in_block->clone_empty ()};
387- }
388369 new_block.swap (*in_block);
389370 auto wrapper = BlockWrapper::create_shared (
390371 std::move (new_block),
@@ -415,9 +396,8 @@ Status BroadcastExchanger::get_block(RuntimeState* state, vectorized::Block* blo
415396 if (_dequeue_data (source_info.local_state , partitioned_block, eos, block,
416397 source_info.channel_id )) {
417398 SCOPED_TIMER (profile.copy_data_timer );
418- vectorized::MutableBlock mutable_block =
419- vectorized::VectorizedUtils::build_mutable_mem_reuse_block (
420- block, partitioned_block.first ->_data_block );
399+ vectorized::MutableBlock mutable_block = vectorized::VectorizedUtils::build_mutable_block (
400+ block, partitioned_block.first ->_data_block );
421401 auto block_wrapper = partitioned_block.first ;
422402 RETURN_IF_ERROR (mutable_block.add_rows (&block_wrapper->_data_block ,
423403 partitioned_block.second .offset_start ,
@@ -431,9 +411,6 @@ Status AdaptivePassthroughExchanger::_passthrough_sink(RuntimeState* state,
431411 vectorized::Block* in_block,
432412 SinkInfo&& sink_info) {
433413 vectorized::Block new_block;
434- if (!_free_blocks.try_dequeue (new_block)) {
435- new_block = {in_block->clone_empty ()};
436- }
437414 new_block.swap (*in_block);
438415 auto channel_id = ((*sink_info.channel_id )++) % _num_partitions;
439416 _enqueue_data_and_set_ready (
0 commit comments