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
Copy file name to clipboardExpand all lines: datafusion/execution/src/memory_pool/pool.rs
+14-14Lines changed: 14 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -246,7 +246,7 @@ fn insufficient_capacity_err(
246
246
additional:usize,
247
247
available:usize,
248
248
) -> DataFusionError{
249
-
resources_datafusion_err!("Failed to allocate additional {} bytes for {} with {} bytes already allocated - maximum available is {}", additional, reservation.registration.consumer.name, reservation.size, available)
249
+
resources_datafusion_err!("Failed to allocate additional {} bytes for {} with {} bytes already allocated for this reservation - {} bytes remain available for the total pool", additional, reservation.registration.consumer.name, reservation.size, available)
250
250
}
251
251
252
252
/// A [`MemoryPool`] that tracks the consumers that have
@@ -418,10 +418,10 @@ mod tests {
418
418
assert_eq!(pool.reserved(),4000);
419
419
420
420
let err = r2.try_grow(1).unwrap_err().strip_backtrace();
421
-
assert_eq!(err,"Resources exhausted: Failed to allocate additional 1 bytes for r2 with 2000 bytes already allocated - maximum available is 0");
421
+
assert_eq!(err,"Resources exhausted: Failed to allocate additional 1 bytes for r2 with 2000 bytes already allocated for this reservation - 0 bytes remain available for the total pool");
422
422
423
423
let err = r2.try_grow(1).unwrap_err().strip_backtrace();
424
-
assert_eq!(err,"Resources exhausted: Failed to allocate additional 1 bytes for r2 with 2000 bytes already allocated - maximum available is 0");
424
+
assert_eq!(err,"Resources exhausted: Failed to allocate additional 1 bytes for r2 with 2000 bytes already allocated for this reservation - 0 bytes remain available for the total pool");
425
425
426
426
r1.shrink(1990);
427
427
r2.shrink(2000);
@@ -446,12 +446,12 @@ mod tests {
446
446
.register(&pool);
447
447
448
448
let err = r3.try_grow(70).unwrap_err().strip_backtrace();
449
-
assert_eq!(err,"Resources exhausted: Failed to allocate additional 70 bytes for r3 with 0 bytes already allocated - maximum available is 40");
449
+
assert_eq!(err,"Resources exhausted: Failed to allocate additional 70 bytes for r3 with 0 bytes already allocated for this reservation - 40 bytes remain available for the total pool");
450
450
451
451
//Shrinking r2 to zero doesn't allow a3 to allocate more than 45
452
452
r2.free();
453
453
let err = r3.try_grow(70).unwrap_err().strip_backtrace();
454
-
assert_eq!(err,"Resources exhausted: Failed to allocate additional 70 bytes for r3 with 0 bytes already allocated - maximum available is 40");
454
+
assert_eq!(err,"Resources exhausted: Failed to allocate additional 70 bytes for r3 with 0 bytes already allocated for this reservation - 40 bytes remain available for the total pool");
let err = r4.try_grow(30).unwrap_err().strip_backtrace();
467
-
assert_eq!(err,"Resources exhausted: Failed to allocate additional 30 bytes for s4 with 0 bytes already allocated - maximum available is 20");
467
+
assert_eq!(err,"Resources exhausted: Failed to allocate additional 30 bytes for s4 with 0 bytes already allocated for this reservation - 20 bytes remain available for the total pool");
468
468
}
469
469
470
470
#[test]
@@ -501,7 +501,7 @@ mod tests {
501
501
// Test: reports if new reservation causes error
502
502
// using the previously set sizes for other consumers
let expected = "Resources exhausted with top memory consumers (across reservations) are: r1 consumed 50 bytes, r3 consumed 20 bytes, r2 consumed 15 bytes. Error: Failed to allocate additional 150 bytes for r5 with 0 bytes already allocated - maximum available is 5";
504
+
let expected = "Resources exhausted with top memory consumers (across reservations) are: r1 consumed 50 bytes, r3 consumed 20 bytes, r2 consumed 15 bytes. Error: Failed to allocate additional 150 bytes for r5 with 0 bytes already allocated for this reservation - 5 bytes remain available for the total pool";
505
505
let res = r5.try_grow(150);
506
506
assert!(
507
507
matches!(
@@ -524,7 +524,7 @@ mod tests {
524
524
525
525
// Test: see error message when no consumers recorded yet
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo consumed 0 bytes. Error: Failed to allocate additional 150 bytes for foo with 0 bytes already allocated - maximum available is 100";
527
+
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo consumed 0 bytes. Error: Failed to allocate additional 150 bytes for foo with 0 bytes already allocated for this reservation - 100 bytes remain available for the total pool";
// TODO: the insufficient_capacity_err() message is per reservation, not per consumer.
545
545
// a followup PR will clarify this message "0 bytes already allocated for this reservation"
546
-
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo consumed 10 bytes. Error: Failed to allocate additional 150 bytes for foo with 0 bytes already allocated - maximum available is 90";
546
+
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo consumed 10 bytes. Error: Failed to allocate additional 150 bytes for foo with 0 bytes already allocated for this reservation - 90 bytes remain available for the total pool";
547
547
let res = r1.try_grow(150);
548
548
assert!(
549
549
matches!(
@@ -555,7 +555,7 @@ mod tests {
555
555
556
556
// Test: will accumulate size changes per consumer, not per reservation
557
557
r1.grow(20);
558
-
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo consumed 30 bytes. Error: Failed to allocate additional 150 bytes for foo with 20 bytes already allocated - maximum available is 70";
558
+
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo consumed 30 bytes. Error: Failed to allocate additional 150 bytes for foo with 20 bytes already allocated for this reservation - 70 bytes remain available for the total pool";
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo(can_spill=false) consumed 30 bytes, foo(can_spill=true) consumed 0 bytes. Error: Failed to allocate additional 150 bytes for foo with 0 bytes already allocated - maximum available is 70";
573
+
let expected = "Resources exhausted with top memory consumers (across reservations) are: foo(can_spill=false) consumed 30 bytes, foo(can_spill=true) consumed 0 bytes. Error: Failed to allocate additional 150 bytes for foo with 0 bytes already allocated for this reservation - 70 bytes remain available for the total pool";
574
574
let res = r2.try_grow(150);
575
575
assert!(
576
576
matches!(
@@ -590,7 +590,7 @@ mod tests {
590
590
let r1_consumer = MemoryConsumer::new("r1");
591
591
letmut r1 = r1_consumer.clone().register(&pool);
592
592
r1.grow(20);
593
-
let expected = "Resources exhausted with top memory consumers (across reservations) are: r1 consumed 20 bytes, r0 consumed 10 bytes. Error: Failed to allocate additional 150 bytes for r0 with 10 bytes already allocated - maximum available is 70";
593
+
let expected = "Resources exhausted with top memory consumers (across reservations) are: r1 consumed 20 bytes, r0 consumed 10 bytes. Error: Failed to allocate additional 150 bytes for r0 with 10 bytes already allocated for this reservation - 70 bytes remain available for the total pool";
594
594
let res = r0.try_grow(150);
595
595
assert!(
596
596
matches!(
@@ -616,7 +616,7 @@ mod tests {
616
616
617
617
// Test: actual message we see is the `available is 70`. When it should be `available is 90`.
618
618
// This is because the pool.shrink() does not automatically occur within the inner_pool.deregister().
619
-
let expected_70_available = "Failed to allocate additional 150 bytes for r0 with 10 bytes already allocated - maximum available is 70";
619
+
let expected_70_available = "Failed to allocate additional 150 bytes for r0 with 10 bytes already allocated for this reservation - 70 bytes remain available for the total pool";
620
620
let res = r0.try_grow(150);
621
621
assert!(
622
622
matches!(
@@ -629,7 +629,7 @@ mod tests {
629
629
// Test: the registration needs to free itself (or be dropped),
630
630
// for the proper error message
631
631
r1.free();
632
-
let expected_90_available = "Failed to allocate additional 150 bytes for r0 with 10 bytes already allocated - maximum available is 90";
632
+
let expected_90_available = "Failed to allocate additional 150 bytes for r0 with 10 bytes already allocated for this reservation - 90 bytes remain available for the total pool";
0 commit comments