Percona XtraDB Cluster - HA scalable solution for MySQL

Make galera packages interchangeable

Reported by Raghavendra D Prabhu on 2013-11-22
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona XtraDB Cluster
Status tracked in Trunk
5.6
Undecided
Raghavendra D Prabhu
Trunk
Undecided
Raghavendra D Prabhu

Bug Description

Since galera-25.3.x and galera-25.2.x can be used interchangeable with wsrep-25 api, make the necessary packaging and documentation changes.

This has already been done for debian and needs to be done for CentOS.

Note, in PXC 5.5, wsrep-25/galera-25 has not been deployed yet, it is an upcoming release - https://bugs.launchpad.net/percona-xtradb-cluster/+milestone/5.5.34-25.9

Moving the interchangeability for PXC 5.6 to 25.2 (to avoid surprises for any users with 5.5).

Also, need to rename Percona-XtraDB-Cluster-galera-56 to Percona-XtraDB-Cluster-galera-3 and Percona-XtraDB-Cluster-galera to Percona-XtraDB-Cluster-galera-2

Jay Janssen (jay-janssen) wrote :

I assume that Galera-3 packages aren't going to just work with older 5.5 PXC and that there may be similar dependencies or exclusions in minor releases. Will the PXC server packages contain proper dependencies about which Galera package(s) they work with?

This is how it will be:

a) For newer PXC packages (to be released), they will
be dependent on Percona-XtraDB-Cluster-galera-25. Both
Percona-XtraDB-Cluster-galera-2 and Percona-XtraDB-Cluster-galera-3
provide Percona-XtraDB-Cluster-galera-25. So, it will need to be
specified explicitly during installation.

b) For older packages, whose older dependencies remain will not work
with newer galera packages because of how dependencies are
defined in #a.

c) Also, installation guides will be updated accordingly, ie. it
will be necessary to explicitly specify the galera package
required on yum/apt command line.

Sounds good?

On Nov 27, 2013, at 1:07 PM, Raghavendra D Prabhu <email address hidden> wrote:

>
> c) Also, installation guides will be updated accordingly, ie. it
> will be necessary to explicitly specify the galera package
> required on yum/apt command line.

Is it possible to define a default version so someone installing PXC server will get a galera automaticaly, but can override if they choose?

>
> Sounds good?

Otherwise, yes. I think so.

Jay Janssen, MySQL Consulting Lead, Percona
http://about.me/jay.janssen

If the name of galera package is not provided on cmdline, by default it
installs galera 3 on centos. This is because it sees 3 > 2 in
package names. If galera 2 package name is provided on cmdline
it installs it. Currently, there is no way to suggest a 'prefers'
in centos AFAIK.

Download full text (7.9 KiB)

@Jay,

If you are upgrading in 55, it will choose Galera-2 by default., so it sticks to default behaviour here.

rpm -qa | grep -iE 'percona|mysql'
---------------------------------------------------------------

Percona-XtraDB-Cluster-shared-5.5.27-23.6.356.rhel6.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
percona-xtrabackup-test-2.0.2-461.rhel6.x86_64
Percona-XtraDB-Cluster-debuginfo-5.5.27-23.6.356.rhel6.x86_64
Percona-XtraDB-Cluster-client-5.5.27-23.6.356.rhel6.x86_64
Percona-Server-shared-compat-5.5.27-rel28.1.296.rhel6.x86_64
Percona-XtraDB-Cluster-galera-2.0-1.114.rhel6.x86_64
percona-toolkit-2.1.3-2.noarch
Percona-XtraDB-Cluster-test-5.5.27-23.6.356.rhel6.x86_64
Percona-XtraDB-Cluster-galera-debuginfo-2.0-1.114.rhel6.x86_64
Percona-XtraDB-Cluster-server-5.5.27-23.6.356.rhel6.x86_64
percona-xtrabackup-2.0.2-461.rhel6.x86_64
Percona-XtraDB-Cluster-devel-5.5.27-23.6.356.rhel6.x86_64
percona-testing-0.0-1.noarch

raghu archie:~ [128]% sudo yum update 'Percona*'
Loaded plugins: auto-update-debuginfo, fastestmirror, presto, security, upgrade-helper
Loading mirror speeds from cached hostfile
 * base: centos.mirror.net.in
 * centosplus: centos.mirror.net.in
 * contrib: centos.mirror.net.in
 * elrepo: mirror.smartmedia.net.id
 * elrepo-extras: mirror.smartmedia.net.id
 * elrepo-kernel: mirror.smartmedia.net.id
 * epel: epel.mirror.net.in
 * epel-debuginfo: epel.mirror.net.in
 * epel-source: epel.mirror.net.in
 * extras: centos.mirror.net.in
 * fasttrack: centos.mirror.net.in
 * updates: centos.mirror.net.in
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-Server-shared-compat.x86_64 0:5.5.27-rel28.1.296.rhel6 will be updated
---> Package Percona-Server-shared-compat.x86_64 0:5.5.34-rel32.0.591.rhel6 will be an update
---> Package Percona-XtraDB-Cluster-client.x86_64 1:5.5.27-23.6.356.rhel6 will be obsoleted
---> Package Percona-XtraDB-Cluster-client-55.x86_64 1:5.5.34-25.9.606.rhel6 will be obsoleting
---> Package Percona-XtraDB-Cluster-debuginfo.x86_64 1:5.5.27-23.6.356.rhel6 will be updated
---> Package Percona-XtraDB-Cluster-debuginfo.x86_64 1:5.5.34-25.9.584.rhel6 will be an update
---> Package Percona-XtraDB-Cluster-devel.x86_64 1:5.5.27-23.6.356.rhel6 will be obsoleted
---> Package Percona-XtraDB-Cluster-devel-55.x86_64 1:5.5.34-25.9.606.rhel6 will be obsoleting
---> Package Percona-XtraDB-Cluster-galera.x86_64 0:2.0-1.114.rhel6 will be obsoleted
---> Package Percona-XtraDB-Cluster-galera-2.x86_64 0:2.8-1.157.rhel6 will be obsoleting
---> Package Percona-XtraDB-Cluster-galera-debuginfo.x86_64 0:2.0-1.114.rhel6 will be updated
---> Package Percona-XtraDB-Cluster-galera-debuginfo.x86_64 0:2.8-1.165.rhel6 will be an update
---> Package Percona-XtraDB-Cluster-server.x86_64 1:5.5.27-23.6.356.rhel6 will be obsoleted
---> Package Percona-XtraDB-Cluster-server-55.x86_64 1:5.5.34-25.9.606.rhel6 will be obsoleting
--> Processing Dependency: percona-xtrabackup >= 2.1.4 for package: 1:Percona-XtraDB-Cluster-server-55-5.5.34-25.9.606.rhel6.x86_64
--> Processing Dependency: socat for package: 1:Percona-XtraDB-Cluster-server-55-5.5.34-25.9.606.rhel6.x86_64
---> Package Percona-XtraDB-Cluster-shared.x86_...

Read more...

There is one another task left in this.

Currently, PXCg-2 and PXCg-3 don't conflict on package level (breaks upgrade with provider relationship). RPM doesn't resolve this either (even though Provides is common to them). So, if PXCg-3 needs to be installed, PXCg-2 needs to be removed and PXCg-3 installed after that.

This can be resolved with separate installation directories (as in galera.spec) - ie. instead of /usr/lib/libgalera_smm.so it will be /usr/lib/percona-xtradb-cluster-galera-2/libgalera_smm.so, similarly for PXCg-3. While this is easy to do, this can break upgrades (unless my.cnf is updated to correct location before the upgrade). So, will be doing it in a separate galera release.

Currently, the changes are committed, but as the next PXC 56 (and Galera 3 with it ) has not been released, need to wait for that release to interchange fully.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers