diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-01-08 09:24:13 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2018-01-08 09:44:40 +0200 |
commit | 16d308e21d91b880f1a59ab964a86e39643cdf1e (patch) | |
tree | b387310b261c2be93587a8360dbaa8b2e42fcdf2 /mysql-test/suite/mariabackup/huge_lsn.result | |
parent | 3a22d6c136ff5a03012102d9a852c5e16ac612d4 (diff) | |
download | mariadb-git-16d308e21d91b880f1a59ab964a86e39643cdf1e.tar.gz |
MDEV-14874 innodb_encrypt_log corrupts the log when the LSN crosses 32-bit boundary
This bug affects both writing and reading encrypted redo log in
MariaDB 10.1, starting from version 10.1.3 which added support for
innodb_encrypt_log. That is, InnoDB crash recovery and Mariabackup
will sometimes fail when innodb_encrypt_log is used.
MariaDB 10.2 or Mariabackup 10.2 or later versions are not affected.
log_block_get_start_lsn(): Remove. This function would cause trouble if
a log segment that is being read is crossing a 32-bit boundary of the LSN,
because this function does not allow the most significant 32 bits of the
LSN to change.
log_blocks_crypt(), log_encrypt_before_write(), log_decrypt_after_read():
Add the parameter "lsn" for the start LSN of the block.
log_blocks_encrypt(): Remove (unused function).
Diffstat (limited to 'mysql-test/suite/mariabackup/huge_lsn.result')
-rw-r--r-- | mysql-test/suite/mariabackup/huge_lsn.result | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mysql-test/suite/mariabackup/huge_lsn.result b/mysql-test/suite/mariabackup/huge_lsn.result new file mode 100644 index 00000000000..740a436228c --- /dev/null +++ b/mysql-test/suite/mariabackup/huge_lsn.result @@ -0,0 +1,18 @@ +# +# MDEV-13416 mariabackup fails with EFAULT "Bad Address" +# +call mtr.add_suppression("InnoDB: New log files created"); +FOUND /InnoDB: .*started; log sequence number 17596481010700/ in mysqld.1.err +CREATE TABLE t(i INT) ENGINE INNODB; +INSERT INTO t VALUES(1); +# xtrabackup backup +INSERT INTO t VALUES(2); +# xtrabackup prepare +# shutdown server +# remove datadir +# xtrabackup move back +# restart server +SELECT * FROM t; +i +1 +DROP TABLE t; |