To anyone who's been watching bugzilla, yum-updatesd continues to get beat up on quite a bit. Everything from resource usage, to just sitting and hanging, to failures and other things.
seth, jbowes and I sat down last week with a helpful moderator (wwoods) to try to figure out a way to improve the status quo. We covered a lot of ground starting with making yum-updatesd go back to just having a cron job kicking off yum going all the way to making yum-updatesd a massive service used by all the GUI tools for their installation needs. In the end, we reached a bit of a middle ground. A lot of the problems seem to be related to the fact that yum-updatesd currently gets into states where it's hung. A lot of this felt like it could be resolved if we could a) stop using threads and b) have the process accessing the rpmdb + yum metadata actually _exit_. From there, we came to the idea of splitting things up into two pieces. 1) yum-updatesd. Daemon that sits on dbus brokering off requests 2) yum-updatesd-helper. Helper process that gets forked off to do everything with the rpmdb. After a couple days of just seeing if it's feasible, I've got something now that looks like it works and fulfills most[1] of our more full list of requirements[2]. To get it, you can currently do git clone http://katzj.fedorapeople.org/git/yum-updatesd.git or grab the packages (epoch 1 so they upgrade what's in yum) from http://katzj.fedorapeople.org/repos/yum-updatesd Thoughts, comments, testing appreciated. I think that post yum 3.2.2, we want to think about just removing yum-updatesd from yum itself and pointing people to use this new version instead. Jeremy [1] The big thing missing is that the daemon side is still written in python because that's faster to do. The advantage of moving it to C will be a lower memory footprint which is probably worth it for a system daemon. But that can also be a second step. [2] You can get the (somewhat condensed) version of this as docs/new-yum-updatesd-design in the repo _______________________________________________ Yum-devel mailing list [email protected] https://lists.dulug.duke.edu/mailman/listinfo/yum-devel
