RPM installer fails in version 5.5.32-31.0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
High
|
Ignacio Nin | |
| 5.1 |
Fix Released
|
High
|
Ignacio Nin | |
| 5.5 |
Fix Released
|
High
|
Ignacio Nin | |
| 5.6 |
Fix Released
|
High
|
Ignacio Nin |
Bug Description
Changes made to the RPM scripts for version 5.5.32-31.0 break the installation.
# yum -y install Percona-
Loaded plugins: downloadonly, fastestmirror, replace
Loading mirror speeds from cached hostfile
* base: mirrors.
* epel: mirror.
* extras: mirror.clarkson.edu
* ius: mirror.symnds.com
* updates: mirror.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-
---> Package Percona-
---> Package Percona-
---> Package Percona-
--> Finished Dependency Resolution
Dependencies Resolved
=======
Package Arch Version Repository Size
=======
Installing:
Percona-
Percona-
Percona-
Percona-
Transaction Summary
=======
Install 4 Package(s)
Total download size: 25 M
Installed size: 104 M
Downloading Packages:
(1/4): Percona-
(2/4): Percona-
(3/4): Percona-
(4/4): Percona-
-------
Total 18 MB/s | 25 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : Percona-
Installing : Percona-
Installing : Percona-
Non-fatal POSTIN scriptlet failure in rpm package Percona-
/var/tmp/
/var/tmp/
/var/tmp/
/var/tmp/
/var/tmp/
/var/tmp/
/opt/mysql/
/var/tmp/
chmod: cannot access `/opt/mysql/
Percona Server is distributed with several useful UDF (User Defined Function) from Maatkit.
Run the following commands to create these functions:
mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"
See http://
/var/tmp/
/opt/mysql/
/var/tmp/
/opt/mysql/
/var/tmp/
/opt/mysql/
/var/tmp/
/opt/mysql/
mv: target `/opt/mysql/
warning: %post(Percona-
Installing : Percona-
Verifying : Percona-
Verifying : Percona-
Verifying : Percona-
Verifying : Percona-
Installed:
Percona-
Percona-
Percona-
Percona-
Complete!
Related branches
- Laurynas Biveinis (community): Approve on 2013-07-30
-
Diff: 12 lines (+1/-1)1 file modifiedbuild/percona-server.spec (+1/-1)
- Laurynas Biveinis (community): Approve on 2013-07-30
-
Diff: 30 lines (+3/-3)1 file modifiedbuild/percona-server.spec (+3/-3)
- Laurynas Biveinis (community): Approve on 2013-07-30
-
Diff: 30 lines (+3/-3)1 file modifiedbuild/percona-server.spec (+3/-3)
monty solomon (monty+launchpad) wrote : | #1 |
monty solomon (monty+launchpad) wrote : | #2 |
The installation works using the 5.5.31 RPMs even though some junk is left in the /var/lib/msyql directory
# yum -y install Percona-
Loaded plugins: downloadonly, fastestmirror, replace
Loading mirror speeds from cached hostfile
* base: mirror.solarvps.com
* epel: mirror.
* extras: mirror.
* ius: mirror.symnds.com
* updates: mirror.
Setting up Install Process
Examining Percona-
Marking Percona-
Examining Percona-
Marking Percona-
Examining Percona-
Marking Percona-
Examining Percona-
Marking Percona-
Resolving Dependencies
--> Running transaction check
---> Package Percona-
---> Package Percona-
---> Package Percona-
---> Package Percona-
--> Finished Dependency Resolution
Dependencies Resolved
=======
Package
Arch Version Repository Size
=======
Installing:
Percona-
x86_64 5.5.31-
Percona-
x86_64 5.5.31-
Percona-
x86_64 5.5.31-
Percona-
x86_64 5.5.31-
Transaction Summary
=======
Install 4 Package(s)
Total size: 104 M
Installed size: 104 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : Percona-
Installing : Percona-
Installing : Percona-
monty solomon (monty+launchpad) wrote : | #3 |
Here is the install output with PERCONA_DEBUG set to 1
# yum -y install Percona-
Loaded plugins: downloadonly, fastestmirror, replace
Loading mirror speeds from cached hostfile
* base: mirror.solarvps.com
* epel: mirror.
* extras: mirror.
* ius: mirror.symnds.com
* updates: mirror.solarvps.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-
---> Package Percona-
---> Package Percona-
---> Package Percona-
--> Finished Dependency Resolution
Dependencies Resolved
=======
Package Arch Version Repository Size
=======
Installing:
Percona-
Percona-
Percona-
Percona-
Transaction Summary
=======
Install 4 Package(s)
Total download size: 25 M
Installed size: 104 M
Downloading Packages:
(1/4): Percona-
(2/4): Percona-
(3/4): Percona-
(4/4): Percona-
-------
Total 19 MB/s | 25 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : Percona-
Installing : Percona-
Installing : Percona-
Non-fatal POSTIN scriptlet failure in rpm package Percona-
/var/tmp/
/var/tmp/
+ '[' -x /usr/bin/my_pr...
monty solomon (monty+launchpad) wrote : | #4 |
Here is the verbose output when running rpm
# rpm -ivvvf Percona-
D: ============== Percona-
D: loading keyring from pubkeys in /var/lib/
D: couldn't find any keys in /var/lib/
D: loading keyring from rpmdb
D: opening db environment /var/lib/rpm cdb:mpool:joinenv
D: opening db index /var/lib/
D: locked db index /var/lib/
D: opening db index /var/lib/rpm/Name rdonly mode=0x0
D: read h# 426 Header sanity check: OK
D: added key gpg-pubkey-
D: read h# 427 Header sanity check: OK
D: added key gpg-pubkey-
D: read h# 428 Header sanity check: OK
D: added key gpg-pubkey-
D: read h# 429 Header sanity check: OK
D: added key gpg-pubkey-
D: read h# 430 Header sanity check: OK
D: added key gpg-pubkey-
D: read h# 431 Header sanity check: OK
D: added key gpg-pubkey-
D: read h# 432 Header sanity check: OK
D: added key gpg-pubkey-
D: Using legacy gpg-pubkey(s) from rpmdb
D: Expected size: 6585508 = lead(96)
D: Actual size: 6585508
warning: Percona-
D: ========== relocations
D: added binary package [0]
D: ============== Percona-
D: Expected size: 2938288 = lead(96)
D: Actual size: 2938288
D: Percona-
D: added binary package [1]
D: ============== Percona-
D: Expected size: 15970672 = lead(96)
D: Actual size: 15970672
D: Percona-
D: added binary package [2]
D: ============== Percona-
D: Expected size: 662844 = lead(96)
D: Actual size: 662844
D: Percona-
D: added binary package [3]
D: found 0 source and 4 binary packages
D: ========== +++ Percona-
D: opening db index /var/lib/
D: read h# 19 Header V3 RSA/SHA1 Signature, key ID c105b9de: OK
D: Requires: /bin/sh YES (db files)
D: read h# 544 Header V3 RSA/SHA1 Signature, key ID c105b9de: OK
D: Requires: /usr/bin/perl YES (db files)
D: Requires: Percona-
D: opening db index /var/lib/
D: read h# ...
Please, send the output of:
uname -a
cat /etc/issue
from your system
monty solomon (monty+launchpad) wrote : | #6 |
$ uname -a
Linux 2.6.32-
$ cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m
Please, send the output of:
/bin/sh --version
ls -l /bin | grep sh
I can not repeat on CentOS 6.4:
[root@centos openxs]# rpm -q -a | grep -i percona
Percona-
Percona-
percona-
[root@centos openxs]# yum -y install Percona-
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
* base: ftp.tlk-l.net
* epel: ftp.tlk-l.net
* extras: ftp.tlk-l.net
* rpmforge: ftp.colocall.net
* updates: ftp.tlk-l.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-
---> Package Percona-
---> Package Percona-
---> Package Percona-
--> Finished Dependency Resolution
Dependencies Resolved
=======
Package Arch Version Repository
=======
Installing:
Percona-
Percona-
Percona-
Percona-
Transaction Summary
=======
Install 4 Package(s)
Total download size: 25 M
Installed size: 104 M
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 25 M
(1/4): Percona-
(2/4): Percona-
(3/4): Percona-
(4/4): Percona-
-------
Total 479 kB/s | 25 MB 00:53
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : Percona-
Installing : Percona-
Installing : Percona-
ls: cannot access /var/lib/
ls: cannot access /var/lib/
Percona Server is distributed with several useful UDF (User Defined Function) from Maatkit.
Run the following commands to create these functions:
mysql -e "CREATE FUNC...
Changed in percona-server: | |
status: | New → Incomplete |
monty solomon (monty+launchpad) wrote : | #8 |
Did you use a non-standard datadir in your configuration?
monty solomon (monty+launchpad) wrote : | #9 |
# /bin/sh --version
GNU bash, version 4.1.2(1)-release (x86_64-
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
# ls -l /bin | grep sh
-rwxr-xr-x 1 root root 903240 May 10 2012 bash
lrwxrwxrwx 1 root root 4 Feb 4 04:28 csh -> tcsh
-rwxr-xr-x 1 root root 106440 Aug 18 2010 dash
lrwxrwxrwx 1 root root 4 Feb 4 04:24 sh -> bash
-rwxr-xr-x 1 root root 387080 May 23 2012 tcsh
Changed in percona-server: | |
status: | Incomplete → New |
Ignacio Nin (ignacio-nin) wrote : | #10 |
Monty,
From the output I see that the script is getting a scrambled mysql_datadir:
mysql_datadir=
/opt/mysql/
which is the source of the test commands failing. I tried with this my.cnf:
[mysqld]
user = mysql
pid-file= /opt/mysql/
socket = /opt/mysql/
datadir = /opt/mysql/
log_error = /opt/mysql/
however my my_print_defaults works correctly:
# my_print_defaults server mysqld
--user=mysql
--pid-file=
--socket=
--datadir=
--log_error=
producing the expected mysql_datadir:
# my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'
/opt/mysql/
Can you provide the output of the my_print_defaults for you? In case it's different than this and it's got the double output, please provide the full output of my_print_defaults and the relevant my.cnf parts so we can reproduce it.
Thanks!
monty solomon (monty+launchpad) wrote : | #11 |
I think I found the source of the problem - the RPM script is not following the rule that when multiple instances of a given option are found, the last instance takes precedence.
My /etc/my.cnf file ends with an include directive
<!includedir /etc/mysql/conf.d/>
and the /etc/mysql/
monty solomon (monty+launchpad) wrote : | #12 |
Do you have enough information to reproduce the problem?
Do you need anything more?
Please, send the output of:
grep datadir /etc/mysql/
monty solomon (monty+launchpad) wrote : | #14 |
# grep datadir /etc/my.cnf /etc/mysql/
/etc/my.cnf:datadir = /opt/mysql/
/etc/mysql/
# my_print_defaults server mysqld | grep datadir
--datadir=
--datadir=
# yum -y install Percona-
Loaded plugins: downloadonly, fastestmirror, replace
Loading mirror speeds from cached hostfile
* base: mirror.cogentco.com
* epel: mirror.symnds.com
* extras: centos.
* ius: mirror.symnds.com
* updates: mirror.umd.edu
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-
--> Processing Dependency: Percona-
--> Processing Dependency: Percona-
--> Running transaction check
---> Package Percona-
---> Package Percona-
--> Finished Dependency Resolution
Dependencies Resolved
=======
Package Arch Version Repository
=======
Installing:
Percona-
Installing for dependencies:
Percona-
Percona-
Transaction Summary
=======
Install 3 Package(s)
Total download size: 22 M
Installed size: 97 M
Downloading Packages:
(1/3): Percona-
(2/3): Percona-
(3/3): Percona-
-------
Total 17 MB/s | 22 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : Percona-
Installing : Percona-
Installing : Percona-
Non-fatal POSTIN scriptlet failure in rpm package Percona-
/var/tmp/
/var/tmp/
+ '[' -x /usr/bin/
++ grep '^--datadir='
++ /usr/bin/
Nilnandan Joshi (nilnandan-joshi) wrote : | #15 |
Tried to reproduce with CentOS 6.4 and Percona-
[root@dhcppc4 ~]# cat /etc/my.cnf
[mysqld]
#user = mysql
pid-file = /opt/mysql/
socket = /opt/mysql/
datadir = /opt/mysql/
log_error = /opt/mysql/
!includedir /etc/mysql/
[root@dhcppc4 ~]#
[root@dhcppc4 ~]# ll /etc/mysql
total 4
-rw-r--r--. 1 root root 182 Jul 17 18:25 001-basic-
[root@dhcppc4 ~]# cat /etc/mysql/
[mysqld]
#user = mysql
pid-file = /opt/mysql/
socket = /opt/mysql/
datadir = /opt/mysql/
log_error = /opt/mysql/
[root@dhcppc4 ~]#
[root@dhcppc4 ~]# rpm -ivh Percona-
Preparing... #######
1:Percona-
2:Percona-
/var/tmp/
Your MySQL directory '/opt/mysql/
/opt/mysql/
ls: cannot access /opt/mysql/
drwx------. 4 mysql mysql 4096 Jul 17 18:36 /opt/mysql/
Please check which one (if any) corresponds to a running server
and delete all others before repeating the MySQL upgrade.
error: %pre(Percona-
error: install: %pre scriptlet failed (2), skipping Percona-
3:Percona-
[root@dhcppc4 ~]#
tags: | added: pkg |
Nilnandan Joshi (nilnandan-joshi) wrote : | #16 |
Same with PS 5.6 but couldn't able to reproduce it with 5.1.70.
warning: %post(Percona-
Installing : Percona-
Verifying : Percona-
Verifying : Percona-
Verifying : Percona-
Verifying : Percona-
Installed:
Percona-
Percona-
Complete!
Ignacio Nin (ignacio-nin) wrote : | #17 |
Confirmed for 5.1 (using PERCONA_DEBUG) even if installation doesn't fail.
monty solomon (monty+launchpad) wrote : | #18 |
There appears to still be a problem with the RPM script.
When yum upgrade is run the script is supposed to return the service to the state it was in before the upgrade.
Executing yum upgrade on a running Percona server does not restart the service.
I think this problem of no service restart should be a topic for a new bug report.
Which is bug 1311840.
Percona now uses JIRA for bug reports so this bug report is migrated to: https:/
Non-standard directories are used.
[mysqld] dbprod/ test.pid dbprod/ test.sock dbdata1/ test dblogs1/ test/gen/ error.log
user = mysql
pid-file = /opt/mysql/
socket = /opt/mysql/
datadir = /opt/mysql/
log_error = /opt/mysql/