diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-11-27 14:02:24 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2018-11-27 14:02:24 +0200 |
commit | b9824074a66b4cb6125820448b27937be23b0f8f (patch) | |
tree | a023c5e960901faa3f962ee0f12e6e16c5435ea5 /storage/innobase/trx | |
parent | 861038f2e8e68574ef3d9e2e250ac71fdd7a4c53 (diff) | |
download | mariadb-git-b9824074a66b4cb6125820448b27937be23b0f8f.tar.gz |
MDEV-17851 Assertion failure srv_undo_tablespaces > 1
trx_assign_rseg_low(): Skip dedicated undo tablespaces if
innodb_undo_tablespaces=0 has been set after the database was created.
Diffstat (limited to 'storage/innobase/trx')
-rw-r--r-- | storage/innobase/trx/trx0trx.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/storage/innobase/trx/trx0trx.cc b/storage/innobase/trx/trx0trx.cc index b56cb9609ab..93fc1bb0ed2 100644 --- a/storage/innobase/trx/trx0trx.cc +++ b/storage/innobase/trx/trx0trx.cc @@ -1002,9 +1002,7 @@ trx_lists_init_at_db_start() evenly distributed between 0 and innodb_undo_logs-1 @return persistent rollback segment @retval NULL if innodb_read_only */ -static -trx_rseg_t* -trx_assign_rseg_low() +static trx_rseg_t* trx_assign_rseg_low() { if (srv_read_only_mode) { ut_ad(srv_undo_logs == ULONG_UNDEFINED); @@ -1055,8 +1053,8 @@ trx_assign_rseg_low() ut_ad(rseg->is_persistent()); if (rseg->space != TRX_SYS_SPACE) { - ut_ad(srv_undo_tablespaces > 1); - if (rseg->skip_allocation) { + if (rseg->skip_allocation + || !srv_undo_tablespaces) { continue; } } else if (trx_rseg_t* next |