summaryrefslogtreecommitdiff
path: root/storage/innobase/trx
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-11-27 14:02:24 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2018-11-27 14:02:24 +0200
commitb9824074a66b4cb6125820448b27937be23b0f8f (patch)
treea023c5e960901faa3f962ee0f12e6e16c5435ea5 /storage/innobase/trx
parent861038f2e8e68574ef3d9e2e250ac71fdd7a4c53 (diff)
downloadmariadb-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.cc8
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