1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +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:
unknown
2006-04-07 20:44:37 +03:00
parent 0a2cd4bb9f
commit 3ab267bf81
4 changed files with 55 additions and 1 deletions

View File

@ -0,0 +1,9 @@
--exec $MYSQL test -e 'show processlist' | grep 'Binlog Dump' | cut -f1 > $MYSQLTEST_VARDIR/tmp/bl_dump_thread_id
--disable_warnings
drop table if exists t999;
--enable_warnings
create temporary table t999 (f int);
--replace_result $MYSQL_TEST_DIR "."
eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/bl_dump_thread_id" into table t999;
let $id = `select f from t999`;
drop table t999;