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

[PATCH] Systemd start after upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Sid, Vivid, Wily

Details

    Description

      After MDEV-8497 had been fixed and the bugfix backported to 10.0, upgrade from MySQL 5.6 to 10.0 on Sid, Vivid, Wily is able to proceed further: the packages are installed all right, but the server does not start after upgrade.

      If /etc/init.d/mysql start is run manually, it exits with zero code immediately without any messages, MariaDB is not started. Nothing in the logs.

      As far as I could tell, the following happens.

      • /etc/init.d/mysql at the very beginning calls /lib/lsb/init-functions
      • /lib/lsb/init-functions triggers some hooks, one of which is /lib/lsb/init-functions.d/40-systemd
      • /lib/lsb/init-functions.d/40-systemd checks the status for service mysql.service, and if it finds LoadState=masked, it exits, silently and without errors.

      Apparently, the status is exactly that after MySQL 5.6 is uninstalled.

      I don't really know what can be done about it. If we don't support crossgrade from MySQL 5.6 to 10.0, so be it – it's not so very important since we already have 10.1 and it works; but then we should make the decision and disable the test in buildbot.

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value

            ATTN svoj, danblack – maybe you have some thoughts on this as well.

            elenst Elena Stepanova added a comment - ATTN svoj , danblack – maybe you have some thoughts on this as well.
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            Summary Upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Sid Upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Vivid, Sid
            elenst Elena Stepanova made changes -
            Description After MDEV-8497 had been fixed and the bugfix backported to 10.0, upgrade from MySQL 5.6 to 10.0 on Sid is able to proceed further: the packages are installed all right, but the server does not start after upgrade.

            If {{/etc/init.d/mysql start}} is run manually, it exits with zero code immediately without any messages, MariaDB is not started. Nothing in the logs.

            As far as I could tell, the following happens.

            - {{/etc/init.d/mysql}} at the very beginning calls {{/lib/lsb/init-functions}}
            - {{/lib/lsb/init-functions}} triggers some hooks, one of which is {{/lib/lsb/init-functions.d/40-systemd}}
            - {{/lib/lsb/init-functions.d/40-systemd}} checks the status for service {{mysql.service}}, and if it finds {{LoadState=masked}}, it exits, silently and without errors.

            Apparently, the status is exactly that after MySQL 5.6 is uninstalled.

            I don't really know what can be done about it. If we don't support crossgrade from MySQL 5.6 to 10.0, so be it -- it's not so very important since we already have 10.1 and it works; but then we should make the decision and disable the test in buildbot.
            After MDEV-8497 had been fixed and the bugfix backported to 10.0, upgrade from MySQL 5.6 to 10.0 on Vivid, Sid is able to proceed further: the packages are installed all right, but the server does not start after upgrade.

            If {{/etc/init.d/mysql start}} is run manually, it exits with zero code immediately without any messages, MariaDB is not started. Nothing in the logs.

            As far as I could tell, the following happens.

            - {{/etc/init.d/mysql}} at the very beginning calls {{/lib/lsb/init-functions}}
            - {{/lib/lsb/init-functions}} triggers some hooks, one of which is {{/lib/lsb/init-functions.d/40-systemd}}
            - {{/lib/lsb/init-functions.d/40-systemd}} checks the status for service {{mysql.service}}, and if it finds {{LoadState=masked}}, it exits, silently and without errors.

            Apparently, the status is exactly that after MySQL 5.6 is uninstalled.

            I don't really know what can be done about it. If we don't support crossgrade from MySQL 5.6 to 10.0, so be it -- it's not so very important since we already have 10.1 and it works; but then we should make the decision and disable the test in buildbot.
            elenst Elena Stepanova made changes -
            Summary Upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Vivid, Sid Upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Sid, Vivid, Wily
            elenst Elena Stepanova made changes -
            Description After MDEV-8497 had been fixed and the bugfix backported to 10.0, upgrade from MySQL 5.6 to 10.0 on Vivid, Sid is able to proceed further: the packages are installed all right, but the server does not start after upgrade.

            If {{/etc/init.d/mysql start}} is run manually, it exits with zero code immediately without any messages, MariaDB is not started. Nothing in the logs.

            As far as I could tell, the following happens.

            - {{/etc/init.d/mysql}} at the very beginning calls {{/lib/lsb/init-functions}}
            - {{/lib/lsb/init-functions}} triggers some hooks, one of which is {{/lib/lsb/init-functions.d/40-systemd}}
            - {{/lib/lsb/init-functions.d/40-systemd}} checks the status for service {{mysql.service}}, and if it finds {{LoadState=masked}}, it exits, silently and without errors.

            Apparently, the status is exactly that after MySQL 5.6 is uninstalled.

            I don't really know what can be done about it. If we don't support crossgrade from MySQL 5.6 to 10.0, so be it -- it's not so very important since we already have 10.1 and it works; but then we should make the decision and disable the test in buildbot.
            After MDEV-8497 had been fixed and the bugfix backported to 10.0, upgrade from MySQL 5.6 to 10.0 on Sid, Vivid, Wily is able to proceed further: the packages are installed all right, but the server does not start after upgrade.

            If {{/etc/init.d/mysql start}} is run manually, it exits with zero code immediately without any messages, MariaDB is not started. Nothing in the logs.

            As far as I could tell, the following happens.

            - {{/etc/init.d/mysql}} at the very beginning calls {{/lib/lsb/init-functions}}
            - {{/lib/lsb/init-functions}} triggers some hooks, one of which is {{/lib/lsb/init-functions.d/40-systemd}}
            - {{/lib/lsb/init-functions.d/40-systemd}} checks the status for service {{mysql.service}}, and if it finds {{LoadState=masked}}, it exits, silently and without errors.

            Apparently, the status is exactly that after MySQL 5.6 is uninstalled.

            I don't really know what can be done about it. If we don't support crossgrade from MySQL 5.6 to 10.0, so be it -- it's not so very important since we already have 10.1 and it works; but then we should make the decision and disable the test in buildbot.

            I can imagine we should backport these lines from 10.1:

            # dh_systemd_start doesn't emit anything since we still ship /etc/init.d/mysql.
            # Thus MariaDB server is started via init.d script, which in turn redirects to
            # systemctl. If we upgrade from MySQL mysql.service may be masked, which also
            # means init.d script is disabled. Unmask mysql service explicitely.
            deb-systemd-helper unmask mysql.service >/dev/null || true

            svoj Sergey Vojtovich added a comment - I can imagine we should backport these lines from 10.1: # dh_systemd_start doesn't emit anything since we still ship /etc/init.d/mysql. # Thus MariaDB server is started via init.d script, which in turn redirects to # systemctl. If we upgrade from MySQL mysql.service may be masked, which also # means init.d script is disabled. Unmask mysql service explicitely. deb-systemd-helper unmask mysql.service >/dev/null || true
            elenst Elena Stepanova made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]
            otto Otto Kekäläinen made changes -
            Assignee Otto Kekäläinen [ otto ]
            Summary Upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Sid, Vivid, Wily Systemd start after upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Sid, Vivid, Wily

            I am sure it is not a regression in any of the packaging changes I did. It was just not visible until I fixed the packaging part where the upgrade failed earlier. Please don't assign it to me.

            This issue stems from something systemd does. Somebody with systemd expertise should try to solve it. The idea by svoj above looks potential, but I don't know more.

            Upgrading from 5.6 to 10.0 is probably quite common, as Ubuntu ships 5.6 and we would like people to migrate from 5.6 to 10.0 or 10.1, so I vote for supporting those upgrade paths.

            otto Otto Kekäläinen added a comment - I am sure it is not a regression in any of the packaging changes I did. It was just not visible until I fixed the packaging part where the upgrade failed earlier. Please don't assign it to me. This issue stems from something systemd does. Somebody with systemd expertise should try to solve it. The idea by svoj above looks potential, but I don't know more. Upgrading from 5.6 to 10.0 is probably quite common, as Ubuntu ships 5.6 and we would like people to migrate from 5.6 to 10.0 or 10.1, so I vote for supporting those upgrade paths.
            elenst Elena Stepanova made changes -
            Assignee Sergey Vojtovich [ svoj ]

            I came across the same issue when testing mysql-server-5.6 -> mariadb-server upgrades in Debian Sid and used the fix above to solve it in http://anonscm.debian.org/cgit/pkg-mysql/mariadb-10.0.git/commit/?id=83103df287e3818daa38ca6aecf4cdf7b0164514

            I will now do the same for upstream 10.0 because it will enable users to upgrade to 10.0 and is extremely unlikely to break anything old.

            otto Otto Kekäläinen added a comment - I came across the same issue when testing mysql-server-5.6 -> mariadb-server upgrades in Debian Sid and used the fix above to solve it in http://anonscm.debian.org/cgit/pkg-mysql/mariadb-10.0.git/commit/?id=83103df287e3818daa38ca6aecf4cdf7b0164514 I will now do the same for upstream 10.0 because it will enable users to upgrade to 10.0 and is extremely unlikely to break anything old.
            otto Otto Kekäläinen added a comment - https://github.com/MariaDB/server/pull/145
            elenst Elena Stepanova made changes -
            Summary Systemd start after upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Sid, Vivid, Wily [PATCH] Systemd start after upgrade from MySQL 5.6 to MariaDB 10.0 does not work on Sid, Vivid, Wily
            svoj Sergey Vojtovich made changes -
            svoj Sergey Vojtovich made changes -
            Priority Minor [ 4 ] Major [ 3 ]
            svoj Sergey Vojtovich made changes -
            Fix Version/s 10.0.24 [ 21101 ]
            Fix Version/s 10.0 [ 16000 ]
            Resolution Fixed [ 1 ]
            Status Confirmed [ 10101 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 73403 ] MariaDB v4 [ 149958 ]

            People

              svoj Sergey Vojtovich
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.