Skip to content

Commit 1af238d

Browse files
committed
review: return error on memory update failure
1 parent b94c290 commit 1af238d

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

datafusion/physical-plan/src/aggregates/single_stream.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ use futures::stream::{Stream, StreamExt};
3535

3636
use super::AggregateExec;
3737
use super::aggregate_hash_table::{AggregateHashTable, SingleMarker};
38-
use crate::metrics::{BaselineMetrics, RecordOutput, SpillMetrics};
38+
use crate::metrics::{BaselineMetrics, RecordOutput};
3939
use crate::stream::EmptyRecordBatchStream;
4040
use crate::{InputOrderMode, RecordBatchStream, SendableRecordBatchStream};
4141

@@ -269,9 +269,15 @@ impl SingleHashAggregateStream {
269269

270270
match result {
271271
Ok(Some(batch)) => {
272-
let _ = self
272+
if let Err(e) = self
273273
.reservation
274-
.try_resize(original_state.hash_table().memory_size());
274+
.try_resize(original_state.hash_table().memory_size())
275+
{
276+
return ControlFlow::Break((
277+
Poll::Ready(Some(Err(e))),
278+
original_state,
279+
));
280+
}
275281
debug_assert!(batch.num_rows() > 0);
276282
let next_state = if original_state.hash_table().is_done() {
277283
original_state.into_done()

0 commit comments

Comments
 (0)