Make galera packages interchangeable

Bug #1253882 reported by Raghavendra D Prabhu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC
Status tracked in 5.6
5.5
Fix Released
Undecided
Raghavendra D Prabhu
5.6
Fix Released
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.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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

Revision history for this message
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?

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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?

Revision history for this message
Jay Janssen (jay-janssen) wrote : Re: [Bug 1253882] Re: Make galera packages interchangeable

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

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :
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...

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :
Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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.

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXC-1522

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.