Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5295

deb upgrade 5.5 to 10.0 does not work

Details

    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

          Activity

            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

            serg Sergei Golubchik added a comment - 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

            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.

            elenst Elena Stepanova added a comment - 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.

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

            serg Sergei Golubchik added a comment - reopened, Breaks: didn't help, only made upgrades worse

            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.

            otto Otto Kekäläinen added a comment - 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.

            elenst Elena Stepanova added a comment - # 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.
            elenst Elena Stepanova added a comment - - edited

            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.

            elenst Elena Stepanova added a comment - - edited 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

            otto Otto Kekäläinen added a comment - 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

            People

              otto Otto Kekäläinen
              elenst Elena Stepanova
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.