[Buildbot-devel] SlaveLock across several slaves on same computer?

Dustin J. Mitchell dustin at zmanda.com
Tue Jan 5 16:33:59 UTC 2010


On Tue, Jan 5, 2010 at 4:40 AM, Marcus Lindblom <macke at yar.nu> wrote:
> I'm about to setup the third and fourth slave prcocess on two slave
> computers respectively, and I was thinking that a SlaveLock that is
> system wide (SystemLock?) would be good to have here. (We're already
> getting timeouts in some multithreading tests due to interference.)

To be honest, rather than try to get several independent Python apps
to cooperate (which seems like it will be Hard once you get into the
details), I'd rather see a way for a single slave to service multiple
buildmasters.

Since buildmasters don't "reserve" and "release" a buildslave for the
duration of a build, creating build-level exclusivity is tricky.
Perhaps the best solution is for the slave to wait for some short
time, say 5 seconds, after finishing a step for a particular
buildmaster, before entertaining requests from any other buildmasters.
 Since buildmasters usually execute steps back-to-back, this should
let the slave finish an entire build in most cases before beginning on
a build for another buildmaster.

As a first draft, this could only allow one step to execute at a time,
but in the long term should probably put a configurable upper limit on
concurrency.

Anyway, just some thoughts.

Dustin

-- 
Open Source Storage Engineer
http://www.zmanda.com




More information about the devel mailing list