Hi Robie, I filled the SRU template and would appreciate if you/your team could take a look at the debdiff for Bionic (I don't intent to get one for Xenial). I tested it, in various scenarios (R/W, R/O, super R/O) and it worked fine.
Regards, Simon ** Patch added: "mysql-5.7-bionic-lp1889472.debdiff" https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1889472/+attachment/5401116/+files/mysql-5.7-bionic-lp1889472.debdiff ** Description changed: [Impact] Updates of the mysql-server-5.7 package fail to install (error during postinst) if operating in (super) read-only mode. A read-only replica is common in redundant/HA setups. - [Test Case] 1) Setup a container (bionic or xenial would do) $ lxc launch images:ubuntu/bionic sql1 $ lxc shell sql1 # apt-get update && apt-get install -y --no-install-recommends mysql-server 2) Configure read-only mode # cat << EOF >> /etc/mysql/my.cnf [mysqld] super_read_only = ON read_only = ON EOF # service mysql restart # mysql -e "SELECT @@global.read_only, @@global.super_read_only;" +--------------------+--------------------------+ | @@global.read_only | @@global.super_read_only | +--------------------+--------------------------+ | 1 | 1 | +--------------------+--------------------------+ 3) Trigger the postinst code # apt-get install --reinstall mysql-server-5.7 Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded. Need to get 0 B/2,931 kB of archives. After this operation, 0 B of additional disk space will be used. Preconfiguring packages ... (Reading database ... 16169 files and directories currently installed.) Preparing to unpack .../mysql-server-5.7_5.7.31-0ubuntu0.18.04.1_amd64.deb ... Unpacking mysql-server-5.7 (5.7.31-0ubuntu0.18.04.1) over (5.7.31-0ubuntu0.18.04.1) ... Setting up mysql-server-5.7 (5.7.31-0ubuntu0.18.04.1) ... Checking if update is needed. Checking server version. Running queries to upgrade MySQL server. mysql_upgrade: [ERROR] 1290: The MySQL server is running with the --super-read-only option so it cannot execute this statement mysql_upgrade failed with exit status 5 dpkg: error processing package mysql-server-5.7 (--configure): - installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1 + installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1 Processing triggers for systemd (237-3ubuntu10.41) ... Errors were encountered while processing: - mysql-server-5.7 + mysql-server-5.7 E: Sub-process /usr/bin/dpkg returned an error code (1) Step 3) should not cause a dpkg error. - [Regression Potential] This patch runs a MySQL query to check if the service is in (super) read-only mode before calling mysql_upgrade. The SQL query might fail thus preventing the proper detection of the read-only mode. The patch assumes read-write mode by default so that it would still call mysql_upgrade. Fortunately, mysql_upgrade is known to safely error out when in read-only as this is what the bug is about. Another possibility is to wrongly detect read-only mode which would skip running mysql_upgrade when it should have been. To mitigate this, the patch informs the user ("mysql_upgrade skipped due to (super) read-only mode") who could then run mysql_upgrade manually. + + [Other Info] + + If and when the patch lands in -proposed, I will update the test + instructions to indicate that -proposed needs to be enabled and mysql- + server-* should be upgraded instead of --reinstall'ed. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1889472 Title: mysql-server-5.7 postinst fails when in read-only mode To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1889472/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
