On 31 Jan 07, at 11:37 AM 31 Jan 07, John Casey wrote:
Concurrency is an issue any way you slice it, and it's not just
limited to
RPMs. RPMs represent a set of files installed on the system, so you
have to
somehow verify that you're not installing the same RPM
_or_file_list_ on one
system at the same time. Granted, this isn't as severe a limitation
as the
concurrent modification problem in the rpm database, but it's still an
important factor.
Yes, but if I'm even building two artifacts that aren't even related
I can still whack the RPM database. I'm really describing the
situation of one developer trying to build things on their own box.
We definitely have other problems on shared build boxes.
So, if a dev team is sharing a machine and needs to do concurrent
build/installs - or, in CI situations where a similar thing is
happening -
it might be essential to setup some sort of chroot setup with a
separate rpm
database for each, so the filesystem paths don't overwrite. This is
a BIG
thing to tackle in any sort of universal way, and I'm not even
going to
pretend to understand all that would be involved...only that it's
much more
than just dealing with the RPM database.
It's not arbitrary classpaths out here, and we're not in Kansas
anymore. :-)
-john
On 1/31/07, Jason van Zyl <[EMAIL PROTECTED]> wrote:
Hi,
I'm just throwing out a question because I have experience a problem
with concurrency in the RPM database. Over in the CBUILDs stuff where
we are using Maven to build RPMs whenever I do two simultaneous
builds where the result is installing an RPM I seem to corrupt the
database rendering RPM useless without rebuilding the RPM database.
I've read in some places that you cannot run RPM commands in parallel
because of concurrency issues. I'm locked to RHEL 3. If there was a
locking mechanism I suppose that would be someone better but means
all my builds are going to block on the lock. But if there are
concurrency issues that means trying to build RPMs during a
development is impractical. Anyone have a definitive answer on this
or a pointer to some documentation? I'm going to try and contact Erik
Troan for a definitive answer but if anyone knows please pipe up! :-)
Jason.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]