File tree Expand file tree Collapse file tree 1 file changed +6
-15
lines changed
datafusion/core/src/execution Expand file tree Collapse file tree 1 file changed +6
-15
lines changed Original file line number Diff line number Diff line change @@ -288,21 +288,12 @@ impl MemoryManager {
288288 }
289289
290290 pub ( crate ) fn shrink_tracker_usage ( & self , delta : usize ) {
291- let update =
292- self . trackers_total
293- . fetch_update ( Ordering :: SeqCst , Ordering :: SeqCst , |x| {
294- if x >= delta {
295- Some ( x - delta)
296- } else {
297- None
298- }
299- } ) ;
300- update. unwrap_or_else ( |_| {
301- panic ! (
302- "Tracker total memory shrink by {} underflow, current value is " ,
303- delta
304- )
305- } ) ;
291+ self . trackers_total
292+ . fetch_update ( Ordering :: SeqCst , Ordering :: SeqCst , |x| {
293+ // Do not panic, set to usize::MIN on underflow
294+ Some ( x. saturating_sub ( delta) )
295+ } )
296+ . expect ( "Unexpected underflow in tracker memory usage" ) ;
306297 }
307298
308299 fn get_requester_total ( & self ) -> usize {
You can’t perform that action at this time.
0 commit comments