Bug 146452
Summary: | yum package upgrades should use one ACID transaction per package, not separate ones for package removal and package installation | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Robin Green <greenrd> |
Component: | yum | Assignee: | Jeremy Katz <katzj> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 3 | CC: | jbj, katzj, spacewar |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2006-04-19 20:01:01 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Robin Green
2005-01-28 13:02:06 UTC
There's nothing yum can do about this. yum doesn't control the granularity of the process. Yum packs an rpm transaction set and then runs the transaction. There's no way to make it more or less granular. and since transactions to your filesystem are not ACID, even if yum could control access to the rpmdb like that you can't make it all that much better. I'm reassigning this to rpm, see what Jeff thinks. yum surely chooses what goes into a transaction, and the size of the transaction determines how much needs to be cleaned up. Meanwhile, an rpmdb has never promised Durability in the face of execptional events like "kernel crashed while updating". Sure Durability could be added with apply/commit transactions to an rpmdb, but adding durability comes at a considerable maintenance cost for the database, and ultimately does not solve the real problem, that files can and will be changed on the file system unpacking payloads no matter whether an rpmdb has transactional durability support. So even if rpmlib provided durability, the problem of "kernel crashing while updating" cannot be solved adequately. I'd much prefer that yum do one package upgrade per transaction, rather than packing potentially hundreds into a single transaction. I've had a lot of problems that would have been much easier to clean up if it was done as many smaller transactions. Even if you don't make this the default behavior, please at least add it as an option. This is a yum, not an rpm, problem atm. So back to yum, as rpm ain't about to start providing Durable db4 transactions tomorrow, or next month. There's the infrastructure for transaction splitting in yum now -- if you want smaller transactions, it should be easy enough to write a plugin to break apart at the appropriate points, but it's not going to be the default. |