2765 Vladislav Vaintroub 2008-08-02
Bug#38519 Falcon causes massive test failures in embedded mode
Remove falcon tables before each run of mysql_test_embedded.
Otherwise an error in falcon recovery will prevent *any*
subsequent test (not only falcon's) to run
modified:
mysql-test/mysql-test-run.pl
2764 Vladislav Vaintroub 2008-08-01
Bug#38519 - errors in embedded tests
2 issues addressed here:
1) Memory manager structures were not always initialized in MemMgr::allocDebug()
2) There is a crash in exit() on destructor of static SyncObject syncDatabaseList.
SyncObject::name points to invalid memory. No idea how that happens, either
memory corruption or memoryManager destructor has already run.
Fixed/worked around by making SyncObject::name const char* and thus avoiding
any calls to MemMgr. SyncObject::name is or should be a constant string anyway.
modified:
storage/falcon/MemMgr.cpp
storage/falcon/SyncObject.cpp
storage/falcon/SyncObject.h
storage/falcon/Table.cpp
=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl 2008-07-25 17:53:22 +0000
+++ b/mysql-test/mysql-test-run.pl 2008-08-02 01:14:22 +0000
@@ -4703,11 +4703,15 @@ sub run_mysqltest ($) {
# ----------------------------------------------------------------------
# If embedded server, we create server args to give mysqltest to pass on
+ # and remove existing falcon tables
# ----------------------------------------------------------------------
-
+
if ( $glob_use_embedded_server )
{
mysqld_arguments($args,$master->[0],$tinfo->{'master_opt'},[]);
+ #Remove falcon tables before each test, otherwise every start might fail
+ #if there is an error in falcon recovery
+ rm_falcon_tables($master->[0]->{'path_myddir'});
}
# ----------------------------------------------------------------------
| Thread |
|---|
| • bzr push into mysql-6.0-falcon branch (vvaintroub:2764 to 2765) Bug#38519 | Vladislav Vaintroub | 2 Aug |