[Yum-devel] [Patch] Resolver Performance and Correctness

Florian Festi ffesti at redhat.com
Wed Jun 6 08:46:23 UTC 2007


Jeremy Katz wrote:
> On Tue, 2007-06-05 at 13:22 +0200, Florian Festi wrote:
>>    * TransactionData.removedmembers - used in _mytscheck to treat
>>      removed INSTALL members as Removes and
>>      removed REMOVE members as installs
> 
> I'm not quite clear on what exactly this is trying to solve...
 >
> Jeremy

We currently check only transaction members and if a transaction member is 
OK it is not touched anymore (which is a Good Thing (tm)). This means if an 
transaction member is removed from the transaction nothing is done 
(additionally). But removing an transaction member can break dependencies. 
If an INSTALL member is removed dependencies in other packages (which may be 
in the OK/never ever touch again state) may require this package. The other 
way round removing an REMOVE member readds the pkg but doesn't check if all 
its dependencies are still there.

To solve that we can restart the whole resolving whenever a transaction 
member is removed, but that's expensive.

The other solution is to just check the removed members. Removed INSTALL 
members have to be treated as removes, because the pkg is no longer part of 
the transaction and removed REMOVE members have to be treated as installs 
because the pkg is added to the transaction again.

That's what that part of the patch is doing (yes, it should be factored out 
into a separate patch).

Florian



More information about the Yum-devel mailing list