Package: rsyslog-pgsql
Version: 8.2302.0-1+deb12u1
Severity: normal

Dear Maintainer,

Background:
We currently operate over 10,000 machines utilizing rsyslog-pgsql. We have been noticing for some time that rsyslog-pgsql does occasionally not install properly. Unfortunately, I cannot pinpoint the exact reason in each and every case, since recovery of the affected systems often takes precedence over bug analysis. This is a long way of saying that we noticed that package configuration in particular seems to be occasionally flakey.

In one case today, an internal test machine was affected and I do know why and how that caused problems for rsyslog-pgsql. Due to an unrelated human error, the machine had to be restored from backup.

Problem:
As per Filesystem Hierarchy Standard (FHS), we do not include /var/cache in our backups, since all data in /var/cache should be expendable. This means that /var/cache/debconf/config.dat, debconfs config database, is also not included in backups.


The packages I've looked at outside of rsyslog-pgsql, e.g. wireshark or tzdata, appear to gracefully handle this loss. rsyslog-pgsql does not. Deleting the debconf config database after the initial installation of rsyslog-pgsql appears to break the package.

   kim.iserv.dev ~ # LC_ALL=C dpkg --configure -a
   Setting up rsyslog-pgsql (8.2302.0-1+deb12u1) ...
   dbconfig-common: writing config to
   /etc/dbconfig-common/rsyslog-pgsql.conf
   Not replacing deleted config file /etc/rsyslog.d/pgsql.conf
   dbconfig-common: flushing administrative password
   dpkg: error processing package rsyslog-pgsql (--configure):
   installed rsyslog-pgsql package post-installation script subprocess
   returned error exit status 10
   Errors were encountered while processing:
   rsyslog-pgsql


This is not the only case that can lead to rsyslog-pgsql breaking. One of the automated workarounds we have pushed to machines is to run:

   echo "REGISTER rsyslog-pgsql/internal/reconfiguring boolean" |
   debconf-communicate


Whenever this does not succeed:

   echo "GET rsyslog-pgsql/internal/reconfiguring" | debconf-communicate


I believe this workaround became necessary after the Debian upgrade from Buster to Bullseye, but don't quote me on that.

Expected behaviour:
rsyslog-pgsql should handle a (partial) loss of debconf settings gracefully, e.g. ask interactive questions etc., but not break package configuration. The problem is particularly bad, since "normal" error recovery procedures (purging the package, reinstallation, ...) do not appear to resolve the problem.

Workaround:
If you are affected by the problem, you can restore entries in /var/cache/debconf/config.dat from a working system. It's a simple text file. Make sure to create a backup.

As with every bug report I submit, I'd like to take the opportunity to extend our gratitude for the work done by the Debian developers and maintainers, as well as the upstream developers. We greatly appreciate the time and effort you put into these projects.


Best regards,
Kim-Alexander Brodowski
IServ GmbH


-- System Information:

Debian Release: 12.10
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-33-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages rsyslog-pgsql depends on:
ii  dbconfig-common        2.0.24
ii  debconf [debconf-2.0]  1.5.82
ii  libc6                  2.36-9+deb12u10
ii  libpq5                 15.12-0+deb12u2
ii  rsyslog                8.2302.0-1+deb12u1
ii  ucf                    3.0043+nmu1+deb12u1

Versions of packages rsyslog-pgsql recommends:
ii  postgresql-client-15 [postgresql-client]  15.12-0+deb12u2

Versions of packages rsyslog-pgsql suggests:
ii  postgresql  15+248

-- debconf information excluded

Reply via email to