mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
44d3917f7a
mysql-test/include/maria_empty_logs.inc: move mysqladmin call to include file for reusal (so that others don't have to hit the same bug in their tests); this include file additionally waits for disconnection. Reasons for BUG#41102: - in maria-no-logging.test, we shut down mysqld in maria_empty_logs.inc, remove logs, tell mtr that it can restart mysqld, then wait for being connected (wait_until_connected_again.inc), then send commands to new mysqld. - but under Windows "mysqladmin shutdown" does not wait for mysqld to be down, so we accidentally removed logs while it was shutting down, wait_until_connected_again found that we were connected (because it was shutting down slowly, connections were not yet broken), sent new commands, and one of them failed because mysqld finally closed connections. - the fix is to just wait for disconnection after shutdown. - in a sense, the catch is the "again" in wait_until_connected_again.inc... mysql-test/include/mysqladmin_shutdown.inc: shutdown with mysqladmin AND waiting for shutdown to complete (needed on Windows) mysql-test/include/wait_until_connected_again.inc: comment mysql-test/include/wait_until_disconnected.inc: script which waits until connection is lost
77 lines
2.6 KiB
PHP
77 lines
2.6 KiB
PHP
# Maria help script.
|
|
# Cleans up all logs to give recovery a fresh start.
|
|
|
|
# API: set mel_keep_control_file=1 if want to keep control file;
|
|
# uses vardir, port and socket.
|
|
|
|
connection default;
|
|
let $default_db=`select database()`;
|
|
|
|
connection admin;
|
|
-- echo * shut down mysqld, removed logs, restarted it
|
|
append_file $MYSQLTEST_VARDIR/tmp/master0.expect;
|
|
wait-maria_empty_logs.inc
|
|
EOF
|
|
|
|
--source include/mysqladmin_shutdown.inc
|
|
|
|
if (!$mel_keep_control_file)
|
|
{
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log_control;
|
|
}
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000001;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000002;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000003;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000004;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000005;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000006;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000007;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000008;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000009;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000010;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000011;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000012;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000013;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000014;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000015;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000016;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000017;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000018;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000019;
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/$MARIA_LOG/maria_log.00000020;
|
|
# hope there are not more than these logs...
|
|
|
|
-- error 0,1
|
|
remove_file $MYSQLTEST_VARDIR/master-data/maria_recovery.trace;
|
|
|
|
append_file $MYSQLTEST_VARDIR/tmp/master0.expect;
|
|
restart-maria_empty_logs.inc
|
|
EOF
|
|
|
|
--source include/wait_until_connected_again.inc
|
|
|
|
connection default;
|
|
# Restore current database as the effect of "use" was lost after restart
|
|
--disable_query_log
|
|
eval use $default_db;
|
|
--enable_query_log
|