When slaves aren't always available sometimes the workspace goes missing - in this case, all affected task (i.e. those on the master) get rescheduled for building when their SCM is checked for a later revision.
Polling on Master (see Perforce plugin) would address this issue, and remove excessive rebuilds. As we've got a massive amount of idle jobs active this hits us hard every time a slave goes offline (for any reason), or when Jenkins is restarted (for any reason), and doesn't know its slaves yet.
I'm willing to write the actual patch, but would need some advice on how to add that to the code in a manner consistent with the current ideas behind it (there seems to be some code in place already, but it's not connected to the config interface or seemingly doing very much).
DONE / Accepting payments