mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Fix for bug#38269: pushbuild gives valgrind error in
ha_statistic_increment for rpl_temporary Problem: in some cases master send a special event to reconnecting slave to keep slave's temporary tables (see #17284) and they still have references to the "old" SQL slave thread and use them to access thread's data. Fix: set temporary tables thread references to the actual SQL slave thread in such cases. mysql-test/suite/rpl/t/disabled.def: Fix for bug#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary - rpl_temporary test enabled. sql/log_event.cc: Fix for bug#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary - if we keep slave's temporary tables after reconnect, set their thread pointers (->in_use) to the current SQL thread.
This commit is contained in:
@@ -12,5 +12,4 @@
|
|||||||
|
|
||||||
rpl_redirect : Failure is sporadic and and the test is superfluous (mats)
|
rpl_redirect : Failure is sporadic and and the test is superfluous (mats)
|
||||||
rpl_innodb_bug28430 : Failure on Solaris Bug #36793
|
rpl_innodb_bug28430 : Failure on Solaris Bug #36793
|
||||||
rpl_temporary : BUG#38269 2008-07-21 Sven valgrind error in pushbuild
|
|
||||||
rpl_flushlog_loop : BUG#37733 2008-07-23 Sven disabled in 5.1-bugteam. the bug has been fixed in 5.1-rpl: please re-enable when that gets pushed to main
|
rpl_flushlog_loop : BUG#37733 2008-07-23 Sven disabled in 5.1-bugteam. the bug has been fixed in 5.1-rpl: please re-enable when that gets pushed to main
|
||||||
|
@@ -3350,6 +3350,17 @@ int Start_log_event_v3::do_apply_event(Relay_log_info const *rli)
|
|||||||
close_temporary_tables(thd);
|
close_temporary_tables(thd);
|
||||||
cleanup_load_tmpdir();
|
cleanup_load_tmpdir();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
Set all temporary tables thread references to the current thread
|
||||||
|
as they may point to the "old" SQL slave thread in case of its
|
||||||
|
restart.
|
||||||
|
*/
|
||||||
|
TABLE *table;
|
||||||
|
for (table= thd->temporary_tables; table; table= table->next)
|
||||||
|
table->in_use= thd;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user