[CentOS] Good for a chuckle

Lamar Owen lowen at pari.edu
Sat Jul 30 15:40:34 UTC 2011


On Saturday, July 30, 2011 10:37:37 AM R P Herrold wrote:
> I see in my overnight email spool:
>     https://bugzilla.redhat.com/show_bug.cgi?id=726872
> 
> I am amused because this kind of request comes up time and 
> time again with respect the package management system
...

I had to check my calendar and make sure I wasn't re-living a conversation I had with jbj years ago....

RPM transactions are not ACID-compliant, and making them so would require a significant amount of work.  Yum transactions are some better; but if the contents of a repo changes between say a 'yum update' that crashes mid-update, before performing the cleanups and some of the updates/installs, and a 'yum-complete-transaction' then the latter will fail, hard (the error is something like 'the transaction to run is different from the previous transaction'), and you're left with a system with issues.  Had that happen preupgrading from F12 to F13 on one box.

While yum transactions do a reasonable job in the consistency and durability departments, the reliance on external repositories of packages breaks the isolation requirement of ACID; the fact that a crash during a yum update does not do a rollback/abort on the transaction and leaves the database and the filesystem in an inconsistent state destroys atomicity.

One partial solution to the bz is yum downgrade..... assuming the previous version of the package to rollback is still in the repos.  Thus a local repo with all versions would be needed to be maintained by the customer that desires this feature...... or upstream's repo needs to keep all versions for arbitrary downgrades.

Or a transactional filesystem that can do atomic rollbacks at the lower level.....



More information about the CentOS mailing list