diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2018-03-27 13:47:56 +0530 |
---|---|---|
committer | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2018-03-27 13:47:56 +0530 |
commit | 73af8af094d65d1d8b8dfcdabf72e825e7cb7de5 (patch) | |
tree | 81119d3e56c95a8e27edd24aaf232323a33580e8 /mysql-test/suite/innodb/r/innodb-index.result | |
parent | 60438451c3aaa14d7979e2d2b6976da240b4949e (diff) | |
download | mariadb-git-73af8af094d65d1d8b8dfcdabf72e825e7cb7de5.tar.gz |
MDEV-15325 Incomplete validation of missing tablespace during recovery
Problem:
=======
During validation of missing tablespace, missing tablespace id is
being compared with hash table of redo logs (recv_sys->addr_hash). But if the
hash table ran out of memory then there is a possibility that it will not contain
the redo logs of all tablespace. In that case, Server will load the InnoDB
even though there is a missing tablespace.
Solution:
========
If the recv_sys->addr_hash hash table ran out of memory then InnoDB needs
to scan the remaining redo log again to validate the missing tablespace.
Diffstat (limited to 'mysql-test/suite/innodb/r/innodb-index.result')
-rw-r--r-- | mysql-test/suite/innodb/r/innodb-index.result | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/innodb-index.result b/mysql-test/suite/innodb/r/innodb-index.result index 54ad4e8a927..df27769b810 100644 --- a/mysql-test/suite/innodb/r/innodb-index.result +++ b/mysql-test/suite/innodb/r/innodb-index.result @@ -1848,3 +1848,20 @@ create table t1(o1 int, o2 int, o3 int, primary key(o1,o2,o3)) engine = innodb; insert into t1 values(1,1,2),(2,2,1); alter table t1 drop primary key, add primary key(o1), lock=none; drop table t1; +# +# MDEV-15325 Incomplete validation of missing tablespace during recovery +# +CREATE TABLE t1(f1 INT PRIMARY KEY)ENGINE=InnoDB; +CREATE TABLE t2(f1 INT PRIMARY KEY)ENGINE=InnoDB; +# Kill the server +# Wrong space_id in a dirty file and a missing file +SELECT * FROM INFORMATION_SCHEMA.ENGINES +WHERE engine = 'innodb' +AND support IN ('YES', 'DEFAULT', 'ENABLED'); +ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS +# Restore t1 and t2 +SELECT * FROM t1; +f1 +SELECT * FROM t2; +f1 +DROP TABLE t1, t2; |