Affects Version/s: None
Fix Version/s: None
I’ve met that Inter Queue Preemption does not work.
It happens when DRF is used and submitting application with a large number of vcores.
IMHO, idealAssigned can be set incorrectly by following code.
- cluster resource : <Memory:200GB, VCores:20>
- idealAssigned(assigned): <Memory:100GB, VCores:10>
- avail: <Memory:181GB, Vcores:1>
- current: <Memory:19GB, Vcores:19>
- pending: <Memory:0, Vcores:0>
current + pending - assigned: <Memory:-181GB, Vcores:9>
min ( avail, (current + pending - assigned) ) : <Memory:-181GB, Vcores:9>
accepted: <Memory:-181GB, Vcores:9>
as a result, idealAssigned will be <Memory:-81GB, VCores:19>, which does not trigger preemption.