Commit graph

3 commits

Author SHA1 Message Date
unknown
92fc426386 Speed up mtr --parallel=<lots> by scheduling some slow tests earlier.
The patch also fixes a race in rpl_stop_slave.test.

On machines with lots of CPU and memory, something like `mtr --parallel=10`
can speed up the test suite enormously. However, we have a few test cases
that run for long (several minutes), and if we are unlucky and happen to
schedule those towards the end of the test suite, we end up with most
workers idle while waiting for the last slow test to end, significantly
delaying the finish of the entire suite.

Improve this by marking the offending tests as taking "long", and trying
to schedule those tests early. This reduces the time towards the end of
the test suite run where some workers are waiting with nothing to do for
the remaining workers each to finish their last test.

Also, the rpl_stop_slave test had a race which could cause it to take
a 300 seconds debug_sync timeout; this is fixed.

Testing on a 4-core 8GB machine, this patch speeds up the test suite with
around 30% for --parallel=10 (debug build), allowing to run the entire
suite in 5 minutes.
2011-01-03 15:33:39 +01:00
unknown
b27fdb26b2 Fix many test failures in parts test suite with --embedded-server.
Fix some connect options to work with embedded.

Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.

Disable in --embedded tests that rely on the mysqltest --list_files command,
which does not seem to work properly in --embedded.

mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_2_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_2_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_2_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_maria.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_maria.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter3_innodb.test:
  Disable in --embedded tests that rely on the mysqltest --list_files command,
  which does not seem to work properly in --embedded.
mysql-test/suite/parts/t/partition_alter3_myisam.test:
  Disable in --embedded tests that rely on the mysqltest --list_files command,
  which does not seem to work properly in --embedded.
mysql-test/suite/parts/t/partition_alter4_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter4_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_symlink_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_engine_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_engine_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_special_innodb.test:
  Fix some connect options to work with embedded.
mysql-test/suite/parts/t/partition_syntax_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_syntax_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
2009-10-09 15:08:09 +02:00
Mattias Jonsson
84760783e9 Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
It is a very big test and as such it takes a lot of time.

Solution is to divide the test in two parts, one for testing increasing
column size and one for decreasing size.

The innodb branch does extended tests (that myisam is not) due to the
$do_pk_tests variabel, that is the reason why the innodb branch takes
longer.

No increase of memory usage in innodb was found when analyzing, (tested
with looping some millions time of create/drop and alter commands)

The memory exhaust discovered in the test is due to mysqltest which
stores the result in memory (result-file) and this was the biggest
result file in the test framework, so by dividing the test into two
parts also cuts the memory usage of mysqltest.

mysql-test/suite/parts/inc/partition_alter2_1.inc:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/inc/partition_alter2_2.inc:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_1_innodb.result:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_1_myisam.result:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_2_innodb.result:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_2_myisam.result:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/disabled.def:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Removed the test completely (since it has never been supported)
mysql-test/suite/parts/t/partition_alter2_1_innodb.test:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_1_myisam.test:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_2_innodb.test:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_2_myisam.test:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Splitted the test into two parts (one for increasing column size
  and one for decreasing)
  
  This leads to lower test case time (to avoid test case timeout)
  and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_ndb.test:
  Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
  
  Removing test since ndb has never supported these tests
2008-09-18 12:02:48 +03:00
Renamed from mysql-test/suite/parts/t/partition_alter2_myisam.test (Browse further)