Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Done
-
5.5.36, 10.0.10
Description
elenst@saucy64:~$ sudo apt-get upgrade
|
Reading package lists... Done
|
Building dependency tree
|
Reading state information... Done
|
The following packages have been kept back:
|
linux-generic linux-headers-generic linux-image-generic mariadb-server mariadb-server-10.0
|
The following packages will be upgraded:
|
libmariadbclient18 libmysqlclient18 mariadb-client mariadb-client-10.0 mariadb-client-core-10.0
|
mariadb-common mariadb-server-core-10.0 mysql-common
|
8 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
|
So, for 10.0.5=>10.0.6 upgrade the server stays 10.0.5 and TokuDB does not get installed. For 5.5 => 10.0.6 upgrade the server and TokuDB stay at 5.5.
I consider it bad, but not a total blocker, the workaround is to run
apt-get install mariadb-server, it forces to replace the server, hence TokuDB also gets installed.
The bad part is that it's easy to miss, especially with 5.5 => 10.0.
Attachments
Issue Links
- is part of
-
MDEV-6284 Merge downstream Debian/Ubuntu packaging into upstream MariaDB
-
- Closed
-
Activity
Right, dist-upgrade seems to work okay. I guess we just need to make a note about it somewhere.
And for 5.5 => 10.0, apt-get upgrade does not work anyway, TokuDB regardless, and neither does dist-upgrade.
What was the exact steps required to reproduce this? What packages from what repo was installed before running 'apt-get upgrade' in "screenshot" above?
I wasn't able to reproduce this using my packaging of 10.0 (https://wiki.debian.org/Teams/MySQL/MariaDBPlan) but maybe I am testing with wrong scenario.
# Add MariaDB 5.5 repo to sources.list and install MariaDB-5.5
|
sudo apt-get update
|
sudo apt-get install mariadb-server mariadb-client
|
# Switch repo to 10.0 and run upgrade or dist-upgrade
|
sudo apt-get update
|
sudo apt-get dist-upgrade
|
|
Installation of 5.5:
Reading package lists... Done
|
Building dependency tree
|
Reading state information... Done
|
The following extra packages will be installed:
|
libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmariadbclient18 libmysqlclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server-5.5
|
mariadb-server-core-5.5 mysql-common
|
|
$ dpkg -l | grep maria
|
ii libmariadbclient18 5.5.36+maria-1~saucy amd64 MariaDB database client library
|
ii libmysqlclient18 5.5.36+maria-1~saucy amd64 Virtual package to satisfy external depends
|
ii mariadb-client 5.5.36+maria-1~saucy all MariaDB database client (metapackage depending on the latest version)
|
ii mariadb-client-5.5 5.5.36+maria-1~saucy amd64 MariaDB database client binaries
|
ii mariadb-client-core-5.5 5.5.36+maria-1~saucy amd64 MariaDB database core client binaries
|
ii mariadb-common 5.5.36+maria-1~saucy all MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
ii mariadb-server 5.5.36+maria-1~saucy all MariaDB database server (metapackage depending on the latest version)
|
ii mariadb-server-5.5 5.5.36+maria-1~saucy amd64 MariaDB database server binaries
|
ii mariadb-server-core-5.5 5.5.36+maria-1~saucy amd64 MariaDB database core server files
|
ii mysql-common 5.5.36+maria-1~saucy all MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
|
$ mysql --version
|
mysql Ver 15.1 Distrib 5.5.36-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
|
$ mysqld --version
|
mysqld Ver 5.5.36-MariaDB-1~saucy-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)
|
|
Upgrade to 10.0:
The following packages will be REMOVED:
|
mariadb-client-5.5 mariadb-client-core-5.5 mariadb-server mariadb-server-5.5
|
The following NEW packages will be installed:
|
... mariadb-client-10.0 mariadb-client-core-10.0 ...
|
The following packages will be upgraded:
|
libmariadbclient18 libmysqlclient18 ... mariadb-client mariadb-common mysql-common ...
|
|
$ dpkg -l | grep -i maria
|
ii libmariadbclient18 10.0.10+maria-1~saucy amd64 MariaDB database client library
|
ii libmysqlclient18 10.0.10+maria-1~saucy amd64 Virtual package to satisfy external depends
|
ii mariadb-client 10.0.10+maria-1~saucy all MariaDB database client (metapackage depending on the latest version)
|
ii mariadb-client-10.0 10.0.10+maria-1~saucy amd64 MariaDB database client binaries
|
rc mariadb-client-5.5 5.5.36+maria-1~saucy amd64 MariaDB database client binaries
|
ii mariadb-client-core-10.0 10.0.10+maria-1~saucy amd64 MariaDB database core client binaries
|
ii mariadb-common 10.0.10+maria-1~saucy all MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
rc mariadb-server-5.5 5.5.36+maria-1~saucy amd64 MariaDB database server binaries
|
ii mariadb-server-core-5.5 5.5.36+maria-1~saucy amd64 MariaDB database core server files
|
ii mysql-common 10.0.10+maria-1~saucy all MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
|
$ mysqld --version
|
mysqld Ver 5.5.36-MariaDB-1~saucy-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)
|
$ mysql --version
|
mysql Ver 15.1 Distrib 10.0.10-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
|
|
With upgrade instead of dist-upgrade the result is somewhat different, but not good either.
For dist-upgrade from MariaDB 5.5.39 to 10.0.14 (the list of upgrade/not upgraded packages is different, but the result is the same – installation is broken after upgrade):
5.5.39 Installed (apt-get install mariadb-common mysql-common mariadb-server mariadb-client mariadb-test libmariadbclient18 libmariadbclient-dev libmariadbd-dev)
ii libmariadbclient-dev 5.5.39+maria-1~wheezy amd64 MariaDB database development files
|
ii libmariadbclient18 5.5.39+maria-1~wheezy amd64 MariaDB database client library
|
ii libmariadbd-dev 5.5.39+maria-1~wheezy amd64 MariaDB embedded database development files
|
ii libmysqlclient18 5.5.39+maria-1~wheezy amd64 Virtual package to satisfy external depends
|
ii mariadb-client 5.5.39+maria-1~wheezy all MariaDB database client (metapackage depending on the latest version)
|
ii mariadb-client-5.5 5.5.39+maria-1~wheezy amd64 MariaDB database client binaries
|
ii mariadb-client-core-5.5 5.5.39+maria-1~wheezy amd64 MariaDB database core client binaries
|
ii mariadb-common 5.5.39+maria-1~wheezy all MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
ii mariadb-server 5.5.39+maria-1~wheezy all MariaDB database server (metapackage depending on the latest version)
|
ii mariadb-server-5.5 5.5.39+maria-1~wheezy amd64 MariaDB database server binaries
|
ii mariadb-server-core-5.5 5.5.39+maria-1~wheezy amd64 MariaDB database core server files
|
ii mariadb-test 5.5.39+maria-1~wheezy all MariaDB database regression test suite (metapackage depending on the latest version)
|
ii mariadb-test-5.5 5.5.39+maria-1~wheezy amd64 MariaDB database regression test suite
|
ii mysql-common 5.5.39+maria-1~wheezy all MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
After dist-upgrade to 10.0.14 (pre-release):
ii libmariadbclient-dev 10.0.14+maria-1~wheezy amd64 MariaDB database development files
|
ii libmariadbclient18 10.0.14+maria-1~wheezy amd64 MariaDB database client library
|
ii libmariadbd-dev 10.0.14+maria-1~wheezy amd64 MariaDB embedded database development files
|
ii libmysqlclient18 10.0.14+maria-1~wheezy amd64 Virtual package to satisfy external depends
|
ii mariadb-client 5.5.39+maria-1~wheezy all MariaDB database client (metapackage depending on the latest version)
|
ii mariadb-client-5.5 5.5.39+maria-1~wheezy amd64 MariaDB database client binaries
|
ii mariadb-client-core-5.5 5.5.39+maria-1~wheezy amd64 MariaDB database core client binaries
|
ii mariadb-common 10.0.14+maria-1~wheezy all MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
ii mariadb-server-core-10.0 10.0.14+maria-1~wheezy amd64 MariaDB database core server files
|
ii mysql-common 10.0.14+maria-1~wheezy all MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
That is, client is not upgraded, server is removed and not re-installed.
Upgrading from 5.5 to 10.0 works just fine for thousands of users on Debian/Ubuntu and our buildbot also seems to be OK for upgrade tests in http://buildbot.askmonty.org/buildbot/grid?branch=10.0&category=main&category=experimental
for 10.0 it's expected. "apt-get upgrade" does not install or remove packages, so it will "keep back" packages that require to do so. In our case, installing mariadb-server-10.0 will force apt-get to remove mariadb-tokudb-engine-10.0.
One can use "apt-get dist-upgrade" — it will upgrade mariadb-server and remove mariadb-tokudb-engine-10.0