mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Bug#17284 erroneous temp table cleanup on slave.
Idea of the fix is for master to send FD event with `created' as 0 to reconnecting slave (upon slave_net_timeout, no master crash) to avoid destroying temp tables. In a case of a connect by slave to the master after its crash temp tables have been already cleaned up so that slave can not keep `orphan' temp tables. mysql-test/r/rpl_temporary.result: results mysql-test/t/rpl_temporary.test: wait-free addon to check temp tables are ok after slave reconnect. sql/sql_repl.cc: Storing zero for assigning to `created' of FD event on the reconnecting slave. mysql-test/include/get_binlog_dump_thread_id.inc: mysqltest's preudo-macro to calculate $id master dump thread id
This commit is contained in:
@@ -466,6 +466,12 @@ impossible position";
|
||||
(rli->group_master_log_pos)
|
||||
*/
|
||||
int4store((char*) packet->ptr()+LOG_POS_OFFSET+1, 0);
|
||||
/*
|
||||
if reconnect master sends FD event with `created' as 0
|
||||
to avoid destroying temp tables.
|
||||
*/
|
||||
int4store((char*) packet->ptr()+LOG_EVENT_MINIMAL_HEADER_LEN+
|
||||
ST_CREATED_OFFSET+1, (ulong) 0);
|
||||
/* send it */
|
||||
if (my_net_write(net, (char*)packet->ptr(), packet->length()))
|
||||
{
|
||||
|
Reference in New Issue
Block a user