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

Method CheckAndResizeHashPartitions

be/src/exec/grouping-aggregator.cc:717–734  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

715}
716
717Status GroupingAggregator::CheckAndResizeHashPartitions(
718 bool partitioning_aggregated_rows, int num_rows, HashTableCtx* ht_ctx) {
719 DCHECK(!is_streaming_preagg_);
720 for (int i = 0; i < PARTITION_FANOUT; ++i) {
721 Partition* partition = hash_partitions_[i];
722 if (partition == nullptr) continue;
723 while (!partition->is_spilled()) {
724 {
725 SCOPED_TIMER(ht_resize_timer_);
726 bool resized;
727 RETURN_IF_ERROR(partition->hash_tbl->CheckAndResize(num_rows, ht_ctx, &resized));
728 if (resized) break;
729 }
730 RETURN_IF_ERROR(SpillPartition(partitioning_aggregated_rows));
731 }
732 }
733 return Status::OK();
734}
735
736Status GroupingAggregator::NextPartition() {
737 DCHECK(output_partition_ == nullptr);

Callers

nothing calls this directly

Calls 3

OKFunction · 0.85
CheckAndResizeMethod · 0.80
is_spilledMethod · 0.45

Tested by

no test coverage detected