You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"with top memory consumers (across reservations) as:\n AggregateStream",
88
+
"Resources exhausted: Additional allocation failed for AggregateStream[partition=0] with top memory consumers (across reservations) as:
89
+
AggregateStream[partition=0]#ID(can spill: false) consumed x B, peak x B,
90
+
AggregateStream[partition=0]#ID(can spill: false) consumed x B, peak x B.
91
+
Error: Failed to allocate additional x B for AggregateStream[partition=0] with x B already allocated for this reservation - x B remain available for the total pool",
"Resources exhausted: Additional allocation failed for GroupedHashAggregateStream[0] (count(1)) with top memory consumers (across reservations) as:
104
+
GroupedHashAggregateStream[0] (count(1))#ID(can spill: true) consumed x B, peak x B,
105
+
GroupedHashAggregateStream[0] (count(1))#ID(can spill: true) consumed x B, peak x B.
106
+
Error: Failed to allocate additional x KB for GroupedHashAggregateStream[0] (count(1)) with x B already allocated for this reservation - x B remain available for the total pool",
102
107
])
103
108
.with_memory_limit(2_000)
104
109
.run()
@@ -111,7 +116,10 @@ async fn group_by_hash() {
111
116
// group by dict column
112
117
.with_query("select count(*) from t GROUP BY service, host, pod, container")
"Resources exhausted: Additional allocation failed for GroupedHashAggregateStream[0] (count(1)) with top memory consumers (across reservations) as:
120
+
GroupedHashAggregateStream[0] (count(1))#ID(can spill: true) consumed x B, peak x B,
121
+
GroupedHashAggregateStream[0] (count(1))#ID(can spill: true) consumed x B, peak x B.
122
+
Error: Failed to allocate additional x KB for GroupedHashAggregateStream[0] (count(1)) with x B already allocated for this reservation - x B remain available for the total pool"
"with top memory consumers (across reservations) as:\n HashJoinInput",
135
+
"Resources exhausted: Additional allocation failed for HashJoinInput with top memory consumers (across reservations) as:
136
+
HashJoinInput#ID(can spill: false) consumed x B, peak x B.
137
+
Error: Failed to allocate additional x KB for HashJoinInput with x B already allocated for this reservation - x B remain available for the total pool",
"with top memory consumers (across reservations) as:\n HashJoinInput",
151
+
"Resources exhausted: Additional allocation failed for HashJoinInput with top memory consumers (across reservations) as:
152
+
HashJoinInput#ID(can spill: false) consumed x B, peak x B.
153
+
Error: Failed to allocate additional x KB for HashJoinInput with x B already allocated for this reservation - x B remain available for the total pool",
"Resources exhausted: Additional allocation failed for NestedLoopJoinLoad[partition=0] with top memory consumers (across reservations) as:
167
+
NestedLoopJoinLoad[partition=0]#ID(can spill: false) consumed x B, peak x B.
168
+
Error: Failed to allocate additional x KB for NestedLoopJoinLoad[partition=0] with x B already allocated for this reservation - x B remain available for the total pool",
157
169
])
158
170
.with_memory_limit(1_000)
159
171
.run()
@@ -165,8 +177,9 @@ async fn cross_join() {
165
177
TestCase::new()
166
178
.with_query("select t1.*, t2.* from t t1 CROSS JOIN t t2")
"with top memory consumers (across reservations) as:\n CrossJoinExec",
180
+
"Resources exhausted: Additional allocation failed for CrossJoinExec with top memory consumers (across reservations) as:
181
+
CrossJoinExec#ID(can spill: false) consumed x B, peak x B.
182
+
Error: Failed to allocate additional x KB for CrossJoinExec with x B already allocated for this reservation - x B remain available for the total pool",
"select t1.* from t t1 JOIN t t2 ON t1.pod = t2.pod AND t1.time = t2.time",
186
199
)
187
200
.with_expected_errors(vec![
188
-
"Failed to allocate additional",
189
-
"SMJStream",
190
-
"Disk spilling disabled",
201
+
"Execution error: Additional allocation failed for SMJStream[partition=0] with top memory consumers (across reservations) as:
202
+
SMJStream[partition=0]#ID(can spill: false) consumed x B, peak x B.
203
+
Error: Failed to allocate additional x KB for SMJStream[partition=0] with x B already allocated for this reservation - x B remain available for the total pool. Disk spilling disabled.",
"Resources exhausted: Additional allocation failed for SymmetricHashJoinStream[partition=0] with top memory consumers (across reservations) as:
239
+
SymmetricHashJoinStream[partition=0]#ID(can spill: false) consumed x B, peak x B.
240
+
Error: Failed to allocate additional x KB for SymmetricHashJoinStream[partition=0] with x B already allocated for this reservation - x B remain available for the total pool",
"Resources exhausted: Additional allocation failed for SortPreservingMergeExec[partition=0] with top memory consumers (across reservations) as:
259
+
SortPreservingMergeExec[partition=0]#ID(can spill: false) consumed x KB, peak x KB.
260
+
Error: Failed to allocate additional x KB for SortPreservingMergeExec[partition=0] with x KB already allocated for this reservation - x B remain available for the total pool",
"with top memory consumers (across reservations) as:",
324
-
"B for ExternalSorterMerge",
339
+
"Resources exhausted: Additional allocation failed for ExternalSorterMerge[partition=0] with top memory consumers (across reservations) as:
340
+
ExternalSorter[partition=0]#ID(can spill: true) consumed x KB, peak x KB,
341
+
ExternalSorterMerge[partition=0]#ID(can spill: false) consumed x KB, peak x KB.
342
+
Error: Failed to allocate additional x KB for ExternalSorterMerge[partition=0] with x B already allocated for this reservation - x B remain available for the total pool",
"with top memory consumers (across reservations) as:\n RecursiveQuery",
371
+
"Resources exhausted: Additional allocation failed for RecursiveQuery with top memory consumers (across reservations) as:
372
+
RecursiveQuery#ID(can spill: false) consumed x B, peak x B.
373
+
Error: Failed to allocate additional x KB for RecursiveQuery with x B already allocated for this reservation - x B remain available for the total pool",
"Resources exhausted: Additional allocation failed for ParquetSink(ArrowColumnWriter(col=1)) with top memory consumers (across reservations) as:
397
+
ParquetSink(ArrowColumnWriter(col=8))#ID(can spill: false) consumed x KB, peak x KB,
398
+
ParquetSink(ArrowColumnWriter(col=14))#ID(can spill: false) consumed x KB, peak x KB,
399
+
ParquetSink(ArrowColumnWriter(col=0))#ID(can spill: false) consumed x KB, peak x KB,
400
+
ParquetSink(ArrowColumnWriter(col=2))#ID(can spill: false) consumed x KB, peak x KB,
401
+
ParquetSink(ArrowColumnWriter(col=1))#ID(can spill: false) consumed x KB, peak x KB.
402
+
Error: Failed to allocate additional x KB for ParquetSink(ArrowColumnWriter(col=1)) with x KB already allocated for this reservation - x KB remain available for the total pool",
"Additional allocation failed","with top memory consumers (across reservations) as:\n ParquetSink(ArrowColumnWriter(col=8))"
428
+
"Resources exhausted: Additional allocation failed for ParquetSink(ArrowColumnWriter(col=2)) with top memory consumers (across reservations) as:
429
+
ParquetSink(ArrowColumnWriter(col=8))#ID(can spill: false) consumed x KB, peak x KB.
430
+
Error: Failed to allocate additional x KB for ParquetSink(ArrowColumnWriter(col=2)) with x KB already allocated for this reservation - x KB remain available for the total pool"
"Resources exhausted: Additional allocation failed for GroupedHashAggregateStream[0] (count(1), sum(t.request_bytes)) with top memory consumers (across reservations) as:
448
+
GroupedHashAggregateStream[0] (count(1), sum(t.request_bytes))#ID(can spill: true) consumed x B, peak x B,
449
+
GroupedHashAggregateStream[0] (count(1), sum(t.request_bytes))#ID(can spill: true) consumed x B, peak x B.
450
+
Error: Failed to allocate additional x KB for GroupedHashAggregateStream[0] (count(1), sum(t.request_bytes)) with x B already allocated for this reservation - x B remain available for the total pool",
425
451
])
426
452
.with_memory_limit(1_000)
427
453
.run()
@@ -885,15 +911,30 @@ impl TestCase {
885
911
"Unexpected failure when running, expected success but got: {e}"
886
912
)
887
913
}else{
914
+
let err_msg = normalize_oom_errors(&e.to_string());
888
915
for error_substring in expected_errors {
889
-
assert_contains!(e.to_string(), error_substring);
916
+
assert_contains!(&err_msg, error_substring);
890
917
}
891
918
}
892
919
}
893
920
}
894
921
}
895
922
}
896
923
924
+
fnnormalize_oom_errors(err:&str) -> String{
925
+
let re = regex::Regex::new(r"\#\d+\(can spill:").unwrap();
0 commit comments