Hi!

I did a bunch of reproducible experiments using Salsa-CI in
https://salsa.debian.org/mariadb-team/mariadb-server/-/pipelines/536587
testing:

## upgrade to Bookworm

* cacti and Bullseye upgrade
    - apt install -qq --yes cacti
   ->  - apt full-upgrade -qq --yes
* default-mysql-server and Bullseye upgrade
    - apt install -qq --yes default-mysql-server
   ->  - apt full-upgrade -qq --yes
* mariadb-server and Bullseye upgrade
    - apt install -qq --yes mariadb-server
* zoph and Bullseye upgrade
    - apt install -qq --yes zoph
   ->  - apt full-upgrade -qq --yes
* zoph and Bullseye upgrade with mariadb-server explicitly
    - apt install -qq --yes zoph mariadb-server
   ->  - apt install -qq --yes mariadb-server + apt full-upgrade -qq --yes
* zoph with mariadb-server and Bullseye upgrade
    - apt install -qq --yes zoph mariadb-server
   ->  - apt full-upgrade -qq --yes

Only the last scenario failed.

This suggests that perhaps users hit this issue only when having
indirect dependency on default-mysql-server (via e.g. zoph), and
upgrading only it or doing a full-upgrade.


## Recommendation how to avoid this issue

I would recommend this as the best way as of today to update MariaDB
10.5.19/20 in Buster to 10.11.3 in Debian 12 "Bookworm":

# Ensure Bullseye was running latest of everything, makes upgrade smoother
$ sudo apt upgrade --yes
# Ensure clean and safe shutdown before doing major version upgrade -
this may take several minutes on large and busy database
$ sudo systemctl stop mariadb || sudo /etc/init.d/mariadb stop
# Enable new release
$ sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
$ sudo apt update
# Just upgrade MariaDB first so it can be brought back online as fast
as possible
$ sudo apt install mariadb-server
# Then upgrade everything else
$ sudo apt full-upgrade


## Recommendation how to recover if suffered this issue


If you did not prepare along the lines of above and just upgraded, and
if failed with error message:

dpkg: mariadb-server-10.5: dependency problems, but removing anyway as
you requested:
 zoph depends on default-mysql-server | virtual-mysql-server; however:
  Package default-mysql-server is not configured yet.
  Package virtual-mysql-server is not installed.
  Package mariadb-server-10.5 which provides virtual-mysql-server is
to be removed.

(Reading database ... 16559 files and directories currently installed.)
Removing mariadb-server-10.5 (1:10.5.19-0+deb11u2) ...
Stopping MariaDB database server: mariadbd failed!
invoke-rc.d: initscript mariadb, action "stop" failed.
dpkg: error processing package mariadb-server-10.5 (--remove):
 installed mariadb-server-10.5 package pre-removal script subprocess
returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 mariadb-server-10.5
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

..in that case the easiest way to recover is simply to manually stop
the server and continue upgrade:

$ sudo pkill -ef mariadbd || sudo pkill -ef mysqld
$ sudo apt --fix-broken install
$ sudo apt full-upgrade


Workaround suggested to be included in Bookworm release notes at
https://salsa.debian.org/ddp-team/release-notes/-/merge_requests/197

Reply via email to