This is a good point, though it will only happen if some TaskSets have already waited enough to go to a non-local level and a local node happens to become available in the same set of resource offers. It can't really happen when the cluster is busy and only one node is becoming free at a time  (the most common case), or when the cluster was idle and a new job is starting (because then it won't have waited). That said though, I'll see if I can change this to loop through the locality levels as before. My main concern was that I didn't want to launch *non-local* tasks as soon as we exhaust the local spots in this resource offer if those TaskSets haven't waited enough.