Bug 374043

Summary: packagekitd locks the packaging system when pk-update-icon is running
Product: [openSUSE] openSUSE 11.0 Reporter: JP Rosevear <jpr>
Component: GNOMEAssignee: Scott Reeves <sreeves>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P5 - None CC: captain.magnus, ma
Version: Alpha 3   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard: packagekit_devel, gnome-showstopper
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description JP Rosevear 2008-03-26 16:47:41 UTC
packagekitd locks the packaging system when pk-update-icon is running

Duncan thought this might be a core zypp issue, but we don't seem to lock it in other cases.
Comment 1 Stefan Haas 2008-04-03 13:16:46 UTC
The default shutdown timeout of packagekitd is 300s and during timeframe libzypp is locked. 
You can change this value in /etc/PackageKit.conf

See documentation:

ShutdownTimeout

This is the time that the daemon waits when idle before shutting down. A smaller number will result in slower response times when running many transactions in a small amount of time. A longer timeout will lock the underlying packaging backend for longer, although the daemon will start and stop less often. 

Please check if libzypp stays locked after this timeframe.
Comment 2 JP Rosevear 2008-04-03 15:21:16 UTC
No it doesn't, killing packagekit solves the issue.  But only pk-update-icon is running and that only checks for updates at most hourly, so does zypp need to lock when its doing nothing?  Or could pk-update-icon explicitly shutdown packagekitd after running a check (if no other transactions are queued).
Comment 3 Magnus Boman 2008-05-01 03:55:48 UTC
This affects the livecd as well when trying to install :-(
Comment 4 Scott Reeves 2008-05-01 19:36:51 UTC
My two main worries about decreasing the timeout were

1. Exceeding the timeout value in a subpart of a transaction when the backend is not emitting signals. For example if simply downloading file 3 of 20 took longer than timeout the backend would emit no signals and would we lose state or suffer performance hits. This is not an issue as the transaction list is still > 0 so the timeout is not started until that list is cleared.

2. The interactive apps performance. For example pull up gpk-application, select a package, click the depends tab, wait > timeout, click the files tab. We will timeout and the engine will exit but it starts up in about 1 second (on my box) so it's not bad.

Moving the timeout down to 15 seconds.
Comment 5 Magnus Boman 2008-05-05 11:51:15 UTC
*** Bug 386663 has been marked as a duplicate of this bug. ***
Comment 6 Magnus Boman 2008-05-09 15:02:27 UTC
I just tried pre-beta3 and this is not a problem anymore.
Closing as fixed.
Comment 7 Magnus Boman 2008-05-09 15:03:05 UTC
Really closing as fixed this time.