On Thu, Feb 28, 2013 at 02:00:46PM +1300, Craig Miskell wrote:
> Package: unattended-upgrades
> Version: 0.79.4
> Severity: important

Thanks for your bugreport.
 
>   When unattended-upgrades starts, it sets nice to 19 and ionice to idle, 
> before running the main function.  Thus, every process restarted by any 
> package upgrades inherits that nice/ionice settings.  This is unexpected, and 
> sub-optimal, especially for important processes like database servers 
> (postgres/mysql) etc. 
>   I expect that any restarted processes should get normal nice/ionice 
> settings.  
> 
>   Assuming unattended-upgrades itself does a reasonable amount of processing 
> that needs to be kept away from causing system impact, I expect the solution 
> will be to use reset the nice/ionice settings around calls to apt-get/dpkg.  
> If it's not, the nice/ionice should be at least able to be disabled via 
> config options, if not removed entirely.

Indeed, this is a pretty serious issue. Attached is a tiny patch that
removes the nice/ionice. Will be part of the next upload.

Cheers,
 Michael
 
> -- System Information:
> Debian Release: 7.0
>   APT prefers testing
>   APT policy: (500, 'testing')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 2.6.32-28-vserver (SMP w/1 CPU core)
> Locale: LANG=en_NZ.UTF-8, LC_CTYPE=POSIX (charmap=ANSI_X3.4-1968)
> Shell: /bin/sh linked to /bin/dash
> 
> Versions of packages unattended-upgrades depends on:
> ii  apt                    0.9.7.7
> ii  apt-utils              0.9.7.7
> ii  debconf [debconf-2.0]  1.5.49
> ii  lsb-base               4.1+Debian8
> ii  lsb-release            4.1+Debian8
> ii  python                 2.7.3~rc2-1
> ii  python-apt             0.8.8.1
> ii  ucf                    3.0025+nmu3
> ii  xz-utils               5.1.1alpha+20120614-2
> 
> unattended-upgrades recommends no packages.
> 
> Versions of packages unattended-upgrades suggests:
> pn  bsd-mailx                                  <none>
> ii  exim4-daemon-light [mail-transport-agent]  4.80-7
> 
> -- debconf information:
>   unattended-upgrades/enable_auto_updates: false
=== modified file 'unattended-upgrade'
--- unattended-upgrade	2012-08-14 11:55:21 +0000
+++ unattended-upgrade	2013-02-28 16:22:52 +0000
@@ -1003,14 +1003,6 @@
         print _("You need to be root to run this application")
         sys.exit(1)
 
-    # nice & ionce
-    os.nice(19)
-    IONICE="/usr/bin/ionice"
-    if os.path.exists(IONICE):
-        with open(os.devnull, "w") as fstderr:
-            subprocess.call([IONICE, "-c3", "-p",str(os.getpid())],
-                            stderr=fstderr)
-
     # ensure that we are not killed when the terminal goes away e.g. on
     # shutdown
     signal.signal(signal.SIGHUP, signal.SIG_IGN)

Reply via email to