Bug #37811 "mysqldump" command hangs on HP-UX 11.31 (specifically)
Submitted: 2 Jul 2008 17:25 Modified: 4 Feb 2010 12:02
Reporter: Joerg Bruehe Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: mysqldump Command-line Client Severity:S3 (Non-critical)
Version:5.0,5.1,6.0.6 OS:HP/UX (11.31, 32 + 64 bit)
Assigned to: Assigned Account CPU Architecture:Any

[2 Jul 2008 17:25] Joerg Bruehe
Description:
This *looks* like a test failure, but I doubt it is the SQL commands executed.
I suspect it is the call to the "mysqldump" binary that has issues.

Detected during the builds of 5.1.26.

On our HP-UX 11.31 box (and only there), we have this symptom:

=====
main.mysqldump-max             [ fail ]  timeout

Stopping All Servers
=====

It occurred in *all* product builds on that single host (both 32 + 64 bit),
in a preceding test build as well as in the final one.

The claim "this host is just a bit slower" cannot explain it to me.
Here are the times of the "mysqldump*" tests on AIX 5.3 (32 bit),
"normal" test run, which also call "mysqldump":

"advanced":
main.mysqldump-compat          [ pass ]           1063
main.mysqldump-max             [ pass ]           2512
main.mysqldump-no-binlog       [ pass ]             98
main.mysqldump                 [ pass ]          91213

"community":
main.mysqldump-compat          [ pass ]            308
main.mysqldump-max             [ pass ]            885
main.mysqldump-no-binlog       [ pass ]             60
main.mysqldump                 [ pass ]          31132

In all such runs, test "mysqldump" needs at least ten (10) times as long as "mysqldump-max".

Now, HP-UX 11.31 (32 bit), "normal" run:

"advanced":
main.mysqldump-compat          [ pass ]            153
main.mysqldump-max             [ fail ]  timeout

Stopping All Servers
Warning;  Aborted waiting on pid file: '...' after 70 seconds
mysql-test-run: WARNING: Forcing kill of process 22170
Restoring snapshot of databases
Resuming Tests

main.mysqldump-no-binlog       [ pass ]             84
main.mysqldump                 [ pass ]          58468

"community":
main.mysqldump-compat          [ pass ]            121
main.mysqldump-max             [ fail ]  timeout

Stopping All Servers
Warning;  Aborted waiting on pid file: '....' after 70 seconds
mysql-test-run: WARNING: Forcing kill of process 2030
Restoring snapshot of databases
Resuming Tests

main.mysqldump-no-binlog       [ pass ]             93
main.mysqldump                 [ pass ]          14868

I cannot believe that
- just on this host,
- in all runs (debug + normal + PS tests),
- just this test
suddenly gets so much slower that the timeout is triggered for good reason.

The only specific thing I noticed is that this test is the only one (of "mysqldump*.test") which uses the options "--delayed-insert" and "--insert-ignore" *without* restricting the data to a single table.
But it would be speculation to claim that the HP-UX binary of "mysqldump" runs into trouble because of this.

How to repeat:
Run the test suite.
[24 Oct 2008 4:55] Tatiana Azundris Nuernberg
# Still exists in 5.1.29.

# Hangs on "SHOW CREATE TABLE t6" (that's the inno table).
# DESC is non-toxic:

mysql> desc t6; 
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(8)      | YES  |     | NULL    |       | 
| name  | varchar(32) | YES  |     | NULL    |       | 
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

# SHOW CREATE TABLE isn't fundamentally broken, either:
mysql> show create table t1;
+-------+--------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                             |
+-------+--------------------------------------------------------------------------------------------------------------------------+
| t1    | CREATE TABLE `t1` (
  `id` int(8) DEFAULT NULL,
  `name` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 | 
+-------+--------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

# the combination's not good, though:
mysql> show create table t6;
# <... hangs here ...>

# However, not just any SHOW CREATE TABLE will do:
$ ./mysql-test-run.pl innodb-autoinc.test innodb.test partition_innodb.test type_bit_innodb.test
All 4 tests were successful.
Spent 31.943 of 163 seconds executing testcases

# Now it would be really nice to have a debugger.
[28 Oct 2008 16:11] Joerg Bruehe
Similar effect in all 5.0 builds since we start to use this platform.