--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
