[MDEV-5295] deb upgrade 5.5 to 10.0 does not work Created: 2013-11-15  Updated: 2016-11-25  Resolved: 2016-11-25

Status: Closed
Project: MariaDB Server
Component/s: Platform Debian
Affects Version/s: 5.5.36, 10.0.10
Fix Version/s: 10.0.29

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Otto Kekäläinen
Resolution: Done Votes: 1
Labels: packaging

Issue Links:
PartOf
is part of MDEV-6284 Merge downstream Debian/Ubuntu packag... Closed

 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.



 Comments   
Comment by Sergei Golubchik [ 2013-11-15 ]

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

Comment by Elena Stepanova [ 2013-11-15 ]

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.

Comment by Sergei Golubchik [ 2014-02-05 ]

reopened, Breaks: didn't help, only made upgrades worse

Comment by Otto Kekäläinen [ 2014-03-25 ]

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.

Comment by Elena Stepanova [ 2014-04-09 ]

    # 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.

Comment by Elena Stepanova [ 2014-09-21 ]

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.

Comment by Otto Kekäläinen [ 2016-11-25 ]

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

Generated at Thu Feb 08 07:03:10 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.