[Buildbot-devel] Difficulties with concurrency and dependencies

Greg Ward gerg.ward+buildbot at gmail.com
Wed Nov 28 16:18:45 UTC 2007


On Nov 27, 2007 6:28 PM, Virgil Bucoci <virgil.bucoci at windriver.com> wrote:
> Have looked at Interlocks
> (http://buildbot.net/repos/release/docs/buildbot.html#Interlocks)?
> They seem to provide exactly what you want.  On the other hand, it's
> late at night and I may have misunderstood either your problem or the
> manual.

I know that you already figured out that Interlocks won't work here,
but in case anyone else is interested: there are two problems that I
can see with using interlocks to synchronize concurrent builds.
First, that's design abuse; from the docs, interlocks were clearly
designed to prevent too much concurrency, e.g. to limit the number of
concurrent builds per slave.  Even if I could push them into service
to synchronize concurrent builds, it would feel dirty and wrong.

On a more nitty-gritty level, Interlocks won't work because you cannot
control who gets the lock first.  That's fine if you're trying to
reduce unwanted concurrency: you just want *someone* to get the lock
first, hold it for a while, and then let someone else get the lock.
But when your Java build on Linux *must* run before your Windows build
can run, tough.  I didn't see anything in the docs that would let me
guarantee that the Java build on Linux gets the lock first, thereby
blocking the Windows build from running until it's done.

Greg




More information about the devel mailing list