mirror of
https://github.com/MariaDB/server.git
synced 2026-05-11 17:40:11 +02:00
MDEV-15686: Loading MyRocks plugin back after it has been unloaded causes a crash
Adjust the testcase to handle all possible outcomes.
This commit is contained in:
parent
d18a66147c
commit
0d2fffb612
2 changed files with 30 additions and 2 deletions
|
|
@ -16,5 +16,16 @@ UNINSTALL SONAME 'ha_rocksdb';
|
|||
call mtr.add_suppression("Plugin 'ROCKSDB.*' init function returned error.");
|
||||
call mtr.add_suppression("Plugin 'ROCKSDB.*' registration as a INFORMATION SCHEMA failed.");
|
||||
call mtr.add_suppression("Plugin 'ROCKSDB' registration as a STORAGE ENGINE failed");
|
||||
#
|
||||
# There are two possible scenarios:
|
||||
# ha_rocksdb.{dll,so} is still loaded into mysqld's address space. Its
|
||||
# global variables are in the state that doesn't allow it to be
|
||||
# initialized back (this is what MDEV-15686 is about). This is handled
|
||||
# by intentionally returning an error from rocksdb_init_func.
|
||||
#
|
||||
# The second case is when ha_rocksdb.{ddl,so} has been fully unloaded
|
||||
# and so it will be now loaded as if it happens for the first time.
|
||||
INSTALL SONAME 'ha_rocksdb';
|
||||
ERROR HY000: Internal error: Loading MyRocks plugin after it has been unloaded is not supported. Please restart mysqld
|
||||
# Whatever happened on the previous step, restore things to the way they
|
||||
# were at testcase start.
|
||||
UNINSTALL SONAME 'ha_rocksdb';
|
||||
|
|
|
|||
|
|
@ -34,5 +34,22 @@ call mtr.add_suppression("Plugin 'ROCKSDB.*' init function returned error.");
|
|||
call mtr.add_suppression("Plugin 'ROCKSDB.*' registration as a INFORMATION SCHEMA failed.");
|
||||
call mtr.add_suppression("Plugin 'ROCKSDB' registration as a STORAGE ENGINE failed");
|
||||
|
||||
--error ER_INTERNAL_ERROR
|
||||
--echo #
|
||||
--echo # There are two possible scenarios:
|
||||
|
||||
--echo # ha_rocksdb.{dll,so} is still loaded into mysqld's address space. Its
|
||||
--echo # global variables are in the state that doesn't allow it to be
|
||||
--echo # initialized back (this is what MDEV-15686 is about). This is handled
|
||||
--echo # by intentionally returning an error from rocksdb_init_func.
|
||||
--echo #
|
||||
--echo # The second case is when ha_rocksdb.{ddl,so} has been fully unloaded
|
||||
--echo # and so it will be now loaded as if it happens for the first time.
|
||||
|
||||
--error 0,ER_INTERNAL_ERROR
|
||||
INSTALL SONAME 'ha_rocksdb';
|
||||
|
||||
--echo # Whatever happened on the previous step, restore things to the way they
|
||||
--echo # were at testcase start.
|
||||
--error 0,ER_SP_DOES_NOT_EXIST
|
||||
UNINSTALL SONAME 'ha_rocksdb';
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue