mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fix a random result mismatch of encryption.innodb_encrypt_log
Disable change buffering, so that some data that was previously written to the encrypted redo log will not end up being copied to the unencrypted redo log due to change buffer merge.
This commit is contained in:
@ -25,6 +25,7 @@ CREATE TEMPORARY TABLE t LIKE t0;
|
|||||||
INSERT INTO t VALUES
|
INSERT INTO t VALUES
|
||||||
(NULL,1,1,'private','secret'),(NULL,2,2,'sacred','success'),
|
(NULL,1,1,'private','secret'),(NULL,2,2,'sacred','success'),
|
||||||
(NULL,3,3,'story','secure'),(NULL,4,4,'security','sacrament');
|
(NULL,3,3,'story','secure'),(NULL,4,4,'security','sacrament');
|
||||||
|
SET GLOBAL innodb_change_buffering=none;
|
||||||
SET GLOBAL innodb_flush_log_at_trx_commit=1;
|
SET GLOBAL innodb_flush_log_at_trx_commit=1;
|
||||||
INSERT INTO t0
|
INSERT INTO t0
|
||||||
SELECT NULL, t1.col_int, t1.col_int_key, t1.col_char, t1.col_char_key
|
SELECT NULL, t1.col_int, t1.col_int_key, t1.col_char, t1.col_char_key
|
||||||
|
@ -32,6 +32,11 @@ INSERT INTO t VALUES
|
|||||||
(NULL,1,1,'private','secret'),(NULL,2,2,'sacred','success'),
|
(NULL,1,1,'private','secret'),(NULL,2,2,'sacred','success'),
|
||||||
(NULL,3,3,'story','secure'),(NULL,4,4,'security','sacrament');
|
(NULL,3,3,'story','secure'),(NULL,4,4,'security','sacrament');
|
||||||
|
|
||||||
|
# Prevent change buffering of key(col_char_key), so that
|
||||||
|
# after the restart, the data ('secret','success','secure','sacrament')
|
||||||
|
# cannot be emitted to the unencrypted redo log by change buffer merge.
|
||||||
|
SET GLOBAL innodb_change_buffering=none;
|
||||||
|
|
||||||
# Force a redo log flush at the next commit.
|
# Force a redo log flush at the next commit.
|
||||||
SET GLOBAL innodb_flush_log_at_trx_commit=1;
|
SET GLOBAL innodb_flush_log_at_trx_commit=1;
|
||||||
INSERT INTO t0
|
INSERT INTO t0
|
||||||
|
Reference in New Issue
Block a user