Thanks for raising the concern! > Unfortunately, it seems the preemptor cannot handle constraints
Sounds like you are saying the Preemptor is only matching resources and not constraints? I'm on a phone, so I may have missed something, but my read is that the preemptor lets SchedulingFilter.filter deal with satisfying constraints. If the SchedulingFilter finds a constraint violation with the scheduling proposal, it flags that with a Veto. On Sunday, September 14, 2014, Stephan Erb <step...@dev.static-void.de> wrote: > Hi together, > > I was scrolling through Preemptor.java and noticed that tasks might be > preempted unnecessarily. > > If I am not mistaken, the code works as follows: > > > for slave in slaves: > while SchedulingFilter.filter is still yielding vetos: > add preemptable task of slave to list toPreemptTasks > > if toPreemptTasks has some tasks: > preempt > return > > > SchedulingFilter is checking for available resources and constraints. > Unfortunately, it seems the preemptor cannot handle constraints: It may > drain an entire slave trying to make room for a new task. However, if > this task has a constraint which prevents it from being scheduled on > this slave at all, then the other tasks are preempted unnecessarily. > > Is my analysis correct here? > > Best Regards, > Stephan > > > > > > -- -=Bill