[Yum-devel] [PATCH] DMD: use pkgId to join filelists_db & primary_db.

Zdenek Pavlas zpavlas at redhat.com
Mon Nov 19 12:54:15 UTC 2012


> > >  We had the same problem when we used to download just the new
> > > primary.xml files and update our local .sqlite files ...

>  As I recall we started to see pkgKey mismatches (the big problem
>  being pkgKey for X was different for primary/filelists).

Having read y-m-p code, I think this was bound to happen.
y-m-p creates/updates databases independently, so with 
updates on:

1) grab primary.xml, build primary_db.
2) grab updated primary.xml, update primary_db.
3) grab filelists.xml, build filelists_db.

1) and 3) see empty DB, so pkgKeys are assigned sequentially.
But 2) updates, so we get non-sequential pkgKeys in primary_db.

Hence pkgKeys in filelists_db != primary_db.  I don't think this 
is bad per se, we just should not assume that pkgKey is a valid 
cross-db join key.

The patch I posted should resolve that at a very small runtime
cost, and not break anything.


More information about the Yum-devel mailing list