summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-06-02 08:18:17 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-06-02 08:23:43 +0300
commit804761a844906c7f7bd11139a366a5dfc1d8bcd6 (patch)
treed629343d0c0b6b991aa1d3f8a4e7abc7ec43d16e
parentfd2b46d8791d4c8253a54e7bbfab4bdbd76e40d7 (diff)
downloadmariadb-git-804761a844906c7f7bd11139a366a5dfc1d8bcd6.tar.gz
MDEV-22770 trx_undo_report_rename() fails to release page latches
commit f74023b955b5825fc3e957f644d5ee75c8171c98 (MDEV-15090) inadvertently removed a mtr_t::commit() call from trx_undo_report_rename(), causing an InnoDB hang if we failed to log a RENAME operation. It is unclear whether this condition is possible in practice. The test case involved SET GLOBAL innodb_trx_rseg_n_slots_debug=1 and a failed CREATE TABLE...SELECT, whose error handling would internally invoke RENAME in InnoDB.
-rw-r--r--storage/innobase/trx/trx0rec.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/storage/innobase/trx/trx0rec.cc b/storage/innobase/trx/trx0rec.cc
index 940c90ee3e3..b282bb177af 100644
--- a/storage/innobase/trx/trx0rec.cc
+++ b/storage/innobase/trx/trx0rec.cc
@@ -1934,10 +1934,9 @@ dberr_t trx_undo_report_rename(trx_t* trx, const dict_table_t* table)
}
}
}
-
- mtr.commit();
}
+ mtr.commit();
return err;
}