mirror of
https://github.com/MariaDB/server.git
synced 2025-07-07 06:01:31 +03:00
The test restarts the server and expects that the feedback plugin will send a report on shutdown, and will write about it in the error log. But the server is only given 10 sec to shut down properly, which is not always enough. Added a parameter to restart_mysqld.inc, and set it to a bigger value in feedback_plugin_send
45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
# Restart of server does not work for embedded.
|
|
--source include/not_embedded.inc
|
|
|
|
source feedback_plugin_load.test;
|
|
|
|
if (!$MTR_FEEDBACK_PLUGIN) {
|
|
skip MTR_FEEDBACK_PLUGIN is not set;
|
|
}
|
|
|
|
#
|
|
# Yep. The plugin waits 5 minutes before sending anything,
|
|
# and there's no way to force it to send anything sooner.
|
|
# Let's wait, and hope that mtr is started with --parallel and
|
|
# is doing some work in other workers.
|
|
#
|
|
sleep 310;
|
|
|
|
# The test expects that the plugin will send a report at least 2 times,
|
|
# now (5 min after loading) and on server shutdown which happens below.
|
|
# Since we have already waited for 5 min, let's be generous
|
|
# and make sure the server has enough time to shut down properly.
|
|
# We won't lose anything if the shutdown is fast, but if it's slow, the plugin
|
|
# will still be able to finish the job and write about it in the error log.
|
|
|
|
--let $shutdown_timeout= 60
|
|
source include/restart_mysqld.inc;
|
|
|
|
replace_result https http;
|
|
perl;
|
|
$log_error= $ENV{'MYSQLTEST_VARDIR'} . '/log/mysqld.1.err';
|
|
open(LOG, '<', $log_error) or die "open(< $log_error): $!";
|
|
|
|
# Get the first few rows (as there may be different number rows in the log)
|
|
$i= 0;
|
|
while ($_=<LOG>)
|
|
{
|
|
if (/feedback plugin:.*/)
|
|
{
|
|
print "$&\n";
|
|
break if ($i++ >= 3);
|
|
}
|
|
}
|
|
close LOG;
|
|
EOF
|