diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2019-02-19 14:47:10 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-02-19 12:18:50 +0200 |
commit | 88b6dc4db5567951f9c0d0baa6e965d44a7130b1 (patch) | |
tree | 5e142a2fb1fea4244fc7cef194f46431b18a4d31 | |
parent | af6fdc13072cc310cf17fd3b28c749515d9c563c (diff) | |
download | mariadb-git-88b6dc4db5567951f9c0d0baa6e965d44a7130b1.tar.gz |
MDEV-18639 Assertion failure upon attempt to start with lower number of undo tablespaces
trx_rseg_t::is_persistent(): Correct a bogus debug assertion.
-rw-r--r-- | mysql-test/suite/innodb/r/undo_truncate_recover.result | 1 | ||||
-rw-r--r-- | mysql-test/suite/innodb/t/undo_truncate_recover.test | 3 | ||||
-rw-r--r-- | storage/innobase/include/trx0rseg.h | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/mysql-test/suite/innodb/r/undo_truncate_recover.result b/mysql-test/suite/innodb/r/undo_truncate_recover.result index ae33474e00d..e1b6a67368b 100644 --- a/mysql-test/suite/innodb/r/undo_truncate_recover.result +++ b/mysql-test/suite/innodb/r/undo_truncate_recover.result @@ -9,6 +9,7 @@ update t1 set c = 'MariaDB'; update t1 set c = 'InnoDB'; set global debug_dbug = '+d,ib_undo_trunc'; commit; +call mtr.add_suppression("InnoDB: innodb_undo_tablespaces=0 disables dedicated undo log tablespaces"); call mtr.add_suppression("InnoDB: The transaction log size is too large"); SET GLOBAL innodb_fast_shutdown=0; FOUND 1 /ib_undo_trunc/ in mysqld.1.err diff --git a/mysql-test/suite/innodb/t/undo_truncate_recover.test b/mysql-test/suite/innodb/t/undo_truncate_recover.test index fb901bc4259..e6f8afb7857 100644 --- a/mysql-test/suite/innodb/t/undo_truncate_recover.test +++ b/mysql-test/suite/innodb/t/undo_truncate_recover.test @@ -38,13 +38,14 @@ update t1 set c = 'MariaDB'; update t1 set c = 'InnoDB'; eval set global debug_dbug = '+d,$SEARCH_PATTERN'; commit; +call mtr.add_suppression("InnoDB: innodb_undo_tablespaces=0 disables dedicated undo log tablespaces"); # FIXME: remove this work-around, and generate less log! call mtr.add_suppression("InnoDB: The transaction log size is too large"); SET GLOBAL innodb_fast_shutdown=0; --source include/shutdown_mysqld.inc --source include/search_pattern_in_file.inc # FIXME: remove this work-around, and generate less log! ---let $restart_parameters= --innodb-buffer-pool-size=16m +--let $restart_parameters= --innodb-buffer-pool-size=16m --innodb-undo-tablespaces=1 --source include/start_mysqld.inc drop table t1; diff --git a/storage/innobase/include/trx0rseg.h b/storage/innobase/include/trx0rseg.h index 48c5133644c..5df41bde48c 100644 --- a/storage/innobase/include/trx0rseg.h +++ b/storage/innobase/include/trx0rseg.h @@ -213,7 +213,7 @@ struct trx_rseg_t { || (srv_undo_space_id_start > 0 && space >= srv_undo_space_id_start && space <= srv_undo_space_id_start - + srv_undo_tablespaces_active) + + srv_undo_tablespaces_open) || !srv_was_started); return(space != SRV_TMP_SPACE_ID); } |