On 02/14/2011 06:38 PM, seth vidal wrote:
On Mon, 2011-02-14 at 18:37 +0200, Panu Matilainen wrote:
Spotted while looking at something related: commit
e95f16d8342bc4dcdfde6b8858a8704bc4c1bdf8 causes yum to hold the rpmdb
open throughout the remaing package downloads after first signature
check happens. Which wont exactly help catching ctrl-c in timely manner...

Perhaps the simplest bandaid would be adding an optional argument
sigCheckPkg() to automatically nuke the ts after checking and use it for
the call from within downloadPkgs(). The downside of this is that it'll
cause a bunch of rpmdb re-re-re-opens, depending on the number of repos
and their config. There's no helping that with rpm 4.4.x, but with>=
4.6.x rpm doesn't actually need the database for signature checking, it
uses an in-memory keyring which is only initially populated from the
database.

I'll try to come up with a remotely sane way to take advantage of the
behavior in newer versions when available (I've a patch but its just too
gross for public consumption), just thought I'd let you know of the
issue in case you find even more people are complaining about ctrl-c
behavior :)

they are, thank you for finding this.

out of curiosity - HOW did you track it down?

In general, "inotifywait -m --event=open,close /var/lib/rpm/" and
"db_stat -h /var/lib/rpm -Cl" are handy for watching what goes on with the rpmdb (inotifywait shows actual db opens + closes, db_stat shows locking + other details)

...but in this particular case I happened to be running with some extra debugging code to get a better idea where all the transaction sets are coming from and what they get used for.

        - Panu -


_______________________________________________
Yum-devel mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to