feat: ResourceExhausted for memory limit in AggregateStream#4405
feat: ResourceExhausted for memory limit in AggregateStream#4405alamb merged 1 commit intoapache:masterfrom
ResourceExhausted for memory limit in AggregateStream#4405Conversation
alamb
left a comment
There was a problem hiding this comment.
Looks great to me -- thank you @crepererum -- I also plan to test this as part of #4404
|
|
||
| for (version, aggregates) in [(1, aggregates_v1), (2, aggregates_v2)] { | ||
| for (version, groups, aggregates) in [ | ||
| (0, groups_none, aggregates_v0), |
There was a problem hiding this comment.
👍 this is the test coverage 👍
|
cc @milenkovicm |
|
Benchmark runs are scheduled for baseline = 0d334cf and contender = dd3f72a. dd3f72a is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
Which issue does this PR close?
Closes #3940.
Rationale for this change
Ensure that users don't run out of memory while performing group-by operations. This is esp. important for servers or multi-tenant systems.
What changes are included in this PR?
Same as #4371 and #4202 but for
AggregateStream(used when there are no group keys).Are these changes tested?
test_oomextended. Perf results:Tl;Dr: No relevant changes!
Are there any user-facing changes?
The no-group agg op an now emit a
ResourceExhaustederror if it runs out of memory. Note that the error is kinda nested/wrapped due to #4172.