Spurious RPM dependency on XtraDB Cluster

Bug #998961 reported by Laurynas Biveinis
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
High
Ignacio Nin
5.5
Fix Released
High
Ignacio Nin

Bug Description

Original report by Jay Janssen:

Installing standard percona server 5.5. on a relatively fresh centos box (6.2) via the percona yum repo.

mysql and mysql-server were previously installed, so I got an install error:

[root@SQL001 ~]# yum install Percona-Server-server-55.x86_64 Percona-Server-shared-55.x86_64 Percona-Server-shared-compat.x86_64 Percona-Server-client-55.x86_64 Percona-Server-devel-55.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.stanford.edu
 * extras: mirror.5ninesolutions.com
 * updates: mirrors.cat.pdx.edu
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-Server-client-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-devel-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-server-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-shared-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-shared-compat.x86_64 0:5.5.22-rel25.2.237.rhel6 will be obsoleting
---> Package mysql-libs.x86_64 0:5.1.61-1.el6_2.1 will be obsoleted
--> Processing Conflict: mysql-5.1.61-1.el6_2.1.x86_64 conflicts MySQL
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package Percona-XtraDB-Cluster-client.x86_64 1:5.5.20-23.4.3748.rhel6 will be obsoleting
---> Package mysql.x86_64 0:5.1.61-1.el6_2.1 will be obsoleted
--> Processing Conflict: mysql-server-5.1.61-1.el6_2.1.x86_64 conflicts MySQL-server
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package Percona-XtraDB-Cluster-server.x86_64 1:5.5.20-23.4.3748.rhel6 will be obsoleting
--> Processing Dependency: xtrabackup >= 1.9.0 for package: 1:Percona-XtraDB-Cluster-server-5.5.20-23.4.3748.rhel6.x86_64
--> Processing Dependency: Percona-XtraDB-Cluster-galera for package: 1:Percona-XtraDB-Cluster-server-5.5.20-23.4.3748.rhel6.x86_64
--> Processing Dependency: nc for package: 1:Percona-XtraDB-Cluster-server-5.5.20-23.4.3748.rhel6.x86_64
---> Package mysql-server.x86_64 0:5.1.61-1.el6_2.1 will be obsoleted
--> Running transaction check
---> Package Percona-XtraDB-Cluster-galera.x86_64 0:2.0-1.109.rhel6 will be installed
---> Package nc.x86_64 0:1.84-22.el6 will be installed
---> Package percona-xtrabackup.x86_64 0:2.0.0-417.rhel6 will be installed
--> Processing Conflict: 1:Percona-XtraDB-Cluster-server-5.5.20-23.4.3748.rhel6.x86_64 conflicts Percona-Server-server-55
--> Processing Conflict: 1:Percona-XtraDB-Cluster-client-5.5.20-23.4.3748.rhel6.x86_64 conflicts Percona-Server-client-55
--> Finished Dependency Resolution
Error: Percona-XtraDB-Cluster-server conflicts with Percona-Server-server-55
Error: Percona-XtraDB-Cluster-client conflicts with Percona-Server-client-55
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Where did Xtradb-Cluster come from?!

Removing mysql and mysql-server solved the problem:

[root@SQL001 ~]# rpm -e mysql mysql-server
warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
[root@SQL001 ~]# yum install Percona-Server-server-55.x86_64 Percona-Server-shared-55.x86_64 Percona-Server-shared-compat.x86_64 Percona-Server-client-55.x86_64 Percona-Server-devel-55.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.stanford.edu
 * extras: mirror.5ninesolutions.com
 * updates: mirrors.easynews.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-Server-client-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-devel-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-server-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-shared-55.x86_64 0:5.5.22-rel25.2.237.rhel6 will be installed
---> Package Percona-Server-shared-compat.x86_64 0:5.5.22-rel25.2.237.rhel6 will be obsoleting
---> Package mysql-libs.x86_64 0:5.1.61-1.el6_2.1 will be obsoleted
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package Arch Version Repository Size
================================================================================================================================================
Installing:
 Percona-Server-client-55 x86_64 5.5.22-rel25.2.237.rhel6 percona 6.6 M
 Percona-Server-devel-55 x86_64 5.5.22-rel25.2.237.rhel6 percona 3.0 M
 Percona-Server-server-55 x86_64 5.5.22-rel25.2.237.rhel6 percona 15 M
 Percona-Server-shared-55 x86_64 5.5.22-rel25.2.237.rhel6 percona 783 k
 Percona-Server-shared-compat x86_64 5.5.22-rel25.2.237.rhel6 percona 3.8 M
     replacing mysql-libs.x86_64 5.1.61-1.el6_2.1

Transaction Summary
================================================================================================================================================
Install 5 Package(s)

Total download size: 29 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): Percona-Server-client-55-5.5.22-rel25.2.237.rhel6.x86_64.rpm | 6.6 MB 00:07
(2/5): Percona-Server-devel-55-5.5.22-rel25.2.237.rhel6.x86_64.rpm | 3.0 MB 00:03
(3/5): Percona-Server-server-55-5.5.22-rel25.2.237.rhel6.x86_64.rpm | 15 MB 00:19
(4/5): Percona-Server-shared-55-5.5.22-rel25.2.237.rhel6.x86_64.rpm | 783 kB 00:00
(5/5): Percona-Server-shared-compat-5.5.22-rel25.2.237.rhel6.x86_64.rpm | 3.8 MB 00:04
------------------------------------------------------------------------------------------------------------------------------------------------
Total 811 kB/s | 29 MB 00:36
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : Percona-Server-shared-55-5.5.22-rel25.2.237.rhel6.x86_64 1/6
  Installing : Percona-Server-client-55-5.5.22-rel25.2.237.rhel6.x86_64 2/6
  Installing : Percona-Server-server-55-5.5.22-rel25.2.237.rhel6.x86_64

This sure seems like a dependency problem to me: XtraDB cluster should not get installed unless one specifically asks for it.

Revision history for this message
Ignacio Nin (ignacio-nin) wrote :

Hello,

Our packages Obsolete: mysql and mysql-server, so if you've got them installed they will get replaced by our packages. In other words, it's impossible to install mysql-server AND Percona-Server.

If you haven't installed mysql, then PS gets selected when you choose to install it specifically. However, if you have installed mysql, PS and PXC will try to obsolete it. Which gets installed is choosed from the version and PXC gets selected it for having a
"higher" version according to RPM.

I'll investigate if this can be "solved", but the solution is to avoid try to install PS over mysql.

Revision history for this message
Stewart Smith (stewart) wrote :

Setting to High priority as most certainly PXC shouldn't be what's selected.

Revision history for this message
Mike Griffiths (akfypznt56ld2kjywwchehm8-mike) wrote :

Is there any progress with fixing this issue?

Given that Percona-XtraDB-Cluster-shared obsoletes mysql-libs, and Percona-XtraDB-Cluster-shared conflicts with Percona-Server-shared-55, it makes it highly inconvenient to upgrade in-place a previously installed (CentOS/RHEL supplied) MySQL to Percona Server.

I'd echo Jay and Stewart's comments above - Percona-XtraDB-Cluster-shared should not obsolete mysql-libs. If I want XtraDB Cluster, I'll request it explicitly.

Revision history for this message
Ignacio Nin (ignacio-nin) wrote :

Hello,

I've committed a fix for this, that removes the Obsoletes: and sets them to Conflicts:. As a result, while PXC won't be selected to replace, PS will continue to conflict with the install of mysql and mysql-server and that will have to be resolved manually, but it won't be as confusing as it is.

If you'd like to test it grab it from our experimental repos: http://repo.percona.com/testing/centos/6/os/noarch/percona-testing-0.0-1.noarch.rpm

Thanks,

Ignacio.

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

It looks like the fix has been released (even though it is marked
fix committed) since the regression is visible at lp:1084309
where adding mysql-libs seems to have caused conflict with
shared-compat.

Changed in percona-server:
status: Fix Committed → Fix Released
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/PS-556

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.