Skip to content
Permalink
Browse files
MDEV-25792 server hangs on early shutdown if InnoDB needs to purge in…
…dexed virtual columns

if the server isn't started and innodb initiated a shutdown process -
don't wait for the server to start, it won't
  • Loading branch information
vuvova committed May 27, 2021
1 parent 4777097 commit 08bc7ee
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 1 deletion.
@@ -0,0 +1,24 @@
call mtr.add_suppression('SQL_ERROR_LOG');
call mtr.add_suppression('Failed to initialize plugins');
call mtr.add_suppression('Aborting');
create table t1(a int primary key, b int as (100-a*a), index(b)) engine=innodb;
insert t1 (a) values(1),(2),(3);
start transaction;
select * from t1 order by a;
a b
1 99
2 96
3 91
connect con1, localhost, root;
delete from t1 where a=2;
flush tables;
connection default;
# Kill the server
# Failed restart
# Start the server
# restart
select * from t1 order by a;
a b
1 99
3 91
drop table t1;
@@ -0,0 +1,28 @@
source include/have_innodb.inc;
# need to restart server
source include/not_embedded.inc;

call mtr.add_suppression('SQL_ERROR_LOG');
call mtr.add_suppression('Failed to initialize plugins');
call mtr.add_suppression('Aborting');

if (!$SQL_ERRLOG_SO) {
skip No SQL_ERROR_LOG plugin;
}

create table t1(a int primary key, b int as (100-a*a), index(b)) engine=innodb;
insert t1 (a) values(1),(2),(3);
start transaction;
select * from t1 order by a;
connect(con1, localhost, root);
delete from t1 where a=2;
flush tables;
connection default;
source include/kill_mysqld.inc;
echo # Failed restart;
error 1;
exec $MYSQLD_LAST_CMD --plugin-load-add=$SQL_ERRLOG_SO --sql-error-log=FORCE --sql-error-log-filename=$MYSQLTEST_VARDIR/nonexistent/nonexistent;
echo # Start the server;
source include/start_mysqld.inc;
select * from t1 order by a;
drop table t1;
@@ -957,7 +957,7 @@ row_purge_parse_undo_rec(
if (!mysqld_server_started) {

node->close_table();
if (srv_shutdown_state > SRV_SHUTDOWN_INITIATED) {
if (srv_shutdown_state > SRV_SHUTDOWN_NONE) {
return(false);
}
os_thread_sleep(1000000);

0 comments on commit 08bc7ee

Please sign in to comment.