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

Document Galera protocol changes in the Release Notes

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Done
    • 10.6.17, 10.6.18, 10.6.19
    • N/A
    • Documentation, Galera
    • None

    Description

      Whenever we upgrade Galera to the newer version in the minor MariaDB x.y.z release, we should explicitly mention this in the release notes. For 10.6.18, for example, this had NOT happened:

      https://mariadb.com/kb/en/mariadb-10-6-18-release-notes/

      Moreover, some new minor Galera versions introduce protocol changes and bump protocols versions, like it happened with 26.4.18:

      https://releases.galeracluster.com/galera-4.18/release-notes-galera-26.4.18.txt

      We should carefully check that and document as a notable change, as it prevents downgrading individual nodes in the cluster to older versions with messages like these:

      2024-07-23 12:17:29 0 [ERROR] WSREP: /home/jenkins/workspace/Galera/Build-Galera-Package/galera-src/gcs/src/gcs_group.cpp:group_check_proto_ver():341: Group requested gcs_proto_ver: 3, max supported by this node: 2.Upgrade the node before joining this group.Need to abort.
      2024-07-23 12:17:29 0 [ERROR] WSREP: /home/jenkins/workspace/Galera/Build-Galera-Package/galera-src/gcs/src/gcs_group.cpp:group_check_proto_ver():342: Group requested repl_proto_ver: 11, max supported by this node: 10.Upgrade the node before joining this group.Need to abort.
      

      and are usually not expected for different minor releases.

      Attachments

        Issue Links

          Activity

            greenman Ian Gilfillan added a comment -

            I have documented the past changes. Reassigning to Ralf for future consideration when drawing up the Galera changes.

            greenman Ian Gilfillan added a comment - I have documented the past changes. Reassigning to Ralf for future consideration when drawing up the Galera changes.

            What abut these, https://github.com/codership/documentation/blob/master/release-notes/release-notes-galera-26.4.19.txt :

            "- GCS level protocol bumped, as error voting for joiner in the JOINED state was
            broken when group-wide commit cut (implied SUCCESS vote) was not taken into
            account when processing error vote requests from the JOINED node. "

            Is this incompatibility documented for all upgrades that may be affected, like 10.11 to 11.0?

            valerii Valerii Kravchuk added a comment - What abut these, https://github.com/codership/documentation/blob/master/release-notes/release-notes-galera-26.4.19.txt : "- GCS level protocol bumped, as error voting for joiner in the JOINED state was broken when group-wide commit cut (implied SUCCESS vote) was not taken into account when processing error vote requests from the JOINED node. " Is this incompatibility documented for all upgrades that may be affected, like 10.11 to 11.0?
            stephanvos Stephan Vos added a comment -

            Galera updated to 26.4.18 (includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster.

            I am unsure of what the impact of this is and what downgrade means?

            Does it mean that I cannot do a rolling upgrade from 10.6.15 to 11.1.5/11.4.3 because the first upgraded node will not be able to communicate correctly with the other 2 nodes due to the protocol change.
            Or does it mean that you can upgrade but just cannot downgrade any node once the complete cluster is on 26.4.18?

            stephanvos Stephan Vos added a comment - Galera updated to 26.4.18 (includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster. I am unsure of what the impact of this is and what downgrade means? Does it mean that I cannot do a rolling upgrade from 10.6.15 to 11.1.5/11.4.3 because the first upgraded node will not be able to communicate correctly with the other 2 nodes due to the protocol change. Or does it mean that you can upgrade but just cannot downgrade any node once the complete cluster is on 26.4.18?
            ralf.gebhardt Ralf Gebhardt added a comment -

            stephanvos, you can do a rolling upgrade. As soon as all nodes in a Galera Cluster are using 26.4.18 it is not possible anymore possible to easily downgrade a node to an older version.

            ralf.gebhardt Ralf Gebhardt added a comment - stephanvos , you can do a rolling upgrade. As soon as all nodes in a Galera Cluster are using 26.4.18 it is not possible anymore possible to easily downgrade a node to an older version.
            seppo Seppo Jaakola added a comment -

            Galera GCS protocol has been upgraded both in 4.18 and 4.19, and these changes prevent downgrading the cluster back to previous versions.
            Cluster rolling upgrade is possible with these releases, as usual. Nodes can be upgraded one-by-one, say from 4.17 to 4.18 version, while cluster is online. When all nodes have 4.18 version installed, the cluster starts using the 4.18 protocol, and after this it is not possible to join nodes having 4.17 into the cluster. So if you regret the 4.18 upgrade and want to rollback the upgrade to go back to 4.17 version, you cannot do that by rolling the downgrade node by node. Instead, you have to shutdown the whole cluster and start new cluster with 4.17 installation.

            seppo Seppo Jaakola added a comment - Galera GCS protocol has been upgraded both in 4.18 and 4.19, and these changes prevent downgrading the cluster back to previous versions. Cluster rolling upgrade is possible with these releases, as usual. Nodes can be upgraded one-by-one, say from 4.17 to 4.18 version, while cluster is online. When all nodes have 4.18 version installed, the cluster starts using the 4.18 protocol, and after this it is not possible to join nodes having 4.17 into the cluster. So if you regret the 4.18 upgrade and want to rollback the upgrade to go back to 4.17 version, you cannot do that by rolling the downgrade node by node. Instead, you have to shutdown the whole cluster and start new cluster with 4.17 installation.
            stephanvos Stephan Vos added a comment -

            Thanks Seppo, makes complete sense.

            From: Seppo Jaakola (Jira) <jira@mariadb.org>
            Sent: Thursday, 07 November 2024 12:35
            To: Stephan Vos <stephan.vos@metacom.net>
            Subject: [JIRA] (MDEV-34643) Document Galera protocol changes in the Release Notes

            [ https://jira.mariadb.org/browse/MDEV-34643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=294074#comment-294074<https://jira.mariadb.org/browse/MDEV-34643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=294074#comment-294074> ]

            Seppo Jaakola commented on MDEV-34643:
            --------------------------------------

            Galera GCS protocol has been upgraded both in 4.18 and 4.19, and these changes prevent downgrading the cluster back to previous versions.
            Cluster rolling upgrade is possible with these releases, as usual. Nodes can be upgraded one-by-one, say from 4.17 to 4.18 version, while cluster is online. When all nodes have 4.18 version installed, the cluster starts using the 4.18 protocol, and after this it is not possible to join nodes having 4.17 into the cluster. So if you regret the 4.18 upgrade and want to rollback the upgrade to go back to 4.17 version, you cannot do that by rolling the downgrade node by node. Instead, you have to shutdown the whole cluster and start new cluster with 4.17 installation.


            This message was sent by Atlassian Jira
            (v8.20.16#820016)

            stephanvos Stephan Vos added a comment - Thanks Seppo, makes complete sense. From: Seppo Jaakola (Jira) <jira@mariadb.org> Sent: Thursday, 07 November 2024 12:35 To: Stephan Vos <stephan.vos@metacom.net> Subject: [JIRA] ( MDEV-34643 ) Document Galera protocol changes in the Release Notes [ https://jira.mariadb.org/browse/MDEV-34643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=294074#comment-294074 < https://jira.mariadb.org/browse/MDEV-34643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=294074#comment-294074 > ] Seppo Jaakola commented on MDEV-34643 : -------------------------------------- Galera GCS protocol has been upgraded both in 4.18 and 4.19, and these changes prevent downgrading the cluster back to previous versions. Cluster rolling upgrade is possible with these releases, as usual. Nodes can be upgraded one-by-one, say from 4.17 to 4.18 version, while cluster is online. When all nodes have 4.18 version installed, the cluster starts using the 4.18 protocol, and after this it is not possible to join nodes having 4.17 into the cluster. So if you regret the 4.18 upgrade and want to rollback the upgrade to go back to 4.17 version, you cannot do that by rolling the downgrade node by node. Instead, you have to shutdown the whole cluster and start new cluster with 4.17 installation. – This message was sent by Atlassian Jira (v8.20.16#820016)
            ralf.gebhardt Ralf Gebhardt added a comment -

            The Docs changes are completed

            ralf.gebhardt Ralf Gebhardt added a comment - The Docs changes are completed

            People

              ralf.gebhardt Ralf Gebhardt
              valerii Valerii Kravchuk
              Votes:
              0 Vote for this issue
              Watchers:
              7 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.