summaryrefslogtreecommitdiff
path: root/mysql-test/suite/mariabackup/huge_lsn.result
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-01-08 09:24:13 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2018-01-08 09:44:40 +0200
commit16d308e21d91b880f1a59ab964a86e39643cdf1e (patch)
treeb387310b261c2be93587a8360dbaa8b2e42fcdf2 /mysql-test/suite/mariabackup/huge_lsn.result
parent3a22d6c136ff5a03012102d9a852c5e16ac612d4 (diff)
downloadmariadb-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.result18
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;