Make the pid detection in init script work with relative paths
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC |
Fix Released
|
Undecided
|
Raghavendra D Prabhu |
Bug Description
Upgrading XtraDB Cluster server fails on Ubuntu 12.04 as the init script hangs indefinitely:
Setting up percona-
* Stopping MySQL (Percona XtraDB Cluster) mysqld [ OK ]
* Percona Server is distributed with several useful UDF (User Defined Function) from Percona Toolkit.
* 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://
* Starting MySQL (Percona XtraDB Cluster) database server mysqld
* SST in progress, setting sleep higher mysqld
The same thing happens if I kill the upgrade and try and start the server directly from the init script, the server does start successfully regardless of the init script hanging.
Related branches
summary: |
- Server hangs indefinitely on startup following upgrade + Make the pid detection in init script work with relative paths |
Changed in percona-xtradb-cluster: | |
status: | Triaged → Fix Committed |
Changed in percona-xtradb-cluster: | |
status: | Fix Committed → Fix Released |
I presume this node is SST/IST-ing?
The logic in place there is that when SST/IST happens, the init script sst_in_ progress and if that file
checks for a file called $datadir/
exists (that file is created by wsrep_sst*) it sleeps for 100s than 1s
per iteration, iteration in which it checks whether mysqld is up and if
not, it goes to sleep. Hence, the delay otherwise shouldn't be more than
100s. Did you see delay higher than that? (You can also probably put
'set -x' in init script and see what it does).
Also, note that to see if mysqld is up or not, it checks for PID file,
so check init script logs to check if they are detected or not.