mariadb/mysql-test/suite/encryption/t/innodb-read-only.test
2025-09-30 16:42:58 +03:00

52 lines
1.4 KiB
Text

--source suite/encryption/include/have_file_key_management_plugin.inc
--source include/have_innodb.inc
--source include/not_embedded.inc
--echo # Wait max 10 min for key encryption threads to encrypt all spaces
let $cnt=600;
while ($cnt)
{
let $success=`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0`;
if ($success)
{
let $cnt=0;
}
if (!$success)
{
real_sleep 1;
dec $cnt;
}
}
if (!$success)
{
SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION;
SHOW STATUS LIKE 'innodb_encryption%';
-- die Timeout waiting for encryption threads
}
--echo # Success!
# Server in normal mode
SET GLOBAL innodb_encryption_threads=4;
SET @encryption_threads_running=4;
--error 0,ER_NO_SUCH_TABLE
SELECT COUNT(*) INTO @encrypt_threads_running
FROM performance_schema.threads
WHERE NAME LIKE '%encrypt%';
SELECT @encryption_threads_running;
#
# MDEV-11835: InnoDB: Failing assertion: free_slot != NULL on
# restarting server with encryption and read-only
#
--let $restart_parameters= --innodb-read-only=1 --innodb-encrypt-tables=1
--source include/restart_mysqld.inc
# Server read-only mode
SET GLOBAL innodb_encryption_threads=4;
SET @encryption_threads_running=0;
--error 0,ER_NO_SUCH_TABLE
SELECT COUNT(*) INTO @encryption_threads_running
FROM performance_schema.threads
WHERE NAME LIKE '%encrypt%';
SELECT @encryption_threads_running;
--echo # All done