diff options
author | Sergei Golubchik <serg@mariadb.org> | 2020-04-25 12:49:47 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2020-04-27 09:22:36 +0200 |
commit | 6dab094fbd31ef93a1d51b1b9c867188b2f958c3 (patch) | |
tree | bdecc2f8afe50c4c0e1c444e941c8a457efd47a8 /mysql-test/main/grant_repair.test | |
parent | a58b2b3b2b564bff9a521c90ab23f850ee9888d3 (diff) | |
download | mariadb-git-6dab094fbd31ef93a1d51b1b9c867188b2f958c3.tar.gz |
MDEV-20257 Server crashes in Grant_table_base::init_read_record upon crash-upgrade
when opening the `user` table separately, reset `thd->open_tables`
for the duration of open, otherwise auto-repair fallback-and-retry
will close *all* tables (but reopen only `user`)
Diffstat (limited to 'mysql-test/main/grant_repair.test')
-rw-r--r-- | mysql-test/main/grant_repair.test | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/main/grant_repair.test b/mysql-test/main/grant_repair.test new file mode 100644 index 00000000000..0fc0edc7ded --- /dev/null +++ b/mysql-test/main/grant_repair.test @@ -0,0 +1,19 @@ +# +# MDEV-20257 Server crashes in Grant_table_base::init_read_record upon crash-upgrade +# + +call mtr.add_suppression("/mysql/user"); +source include/switch_to_mysql_user.inc; + +let mysql_datadir=`select @@datadir`; +flush tables; +perl; + $f=$ENV{mysql_datadir} . '/mysql/user.MAI'; + sysopen F, $f, 2 or die "sysopen $f: $!"; + # set the open_count to 1, "table was not closed properly" + sysseek F, 24, O_RDWR or die "sysseek: $!"; + syswrite F, 1, 1 or die "syswrite: $!"; +EOF +flush privileges; + +source include/switch_to_mysql_global_priv.inc; |