1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-15832 With innodb_fast_shutdown=3, skip the rollback of connected transactions

row_undo_step(): If innodb_fast_shutdown=3 has been requested,
abort the rollback of any non-DDL transactions. Starting with
MDEV-12323, we aborted the rollback of recovered transactions. The
transactions would be rolled back on subsequent server startup.

trx_roll_report_progress(): Renamed from trx_roll_must_shutdown(),
now that the shutdown check has been moved to the only caller.

trx_commit_low(): Allow mtr=NULL for transactions that are aborted
on rollback.

trx_rollback_finish(): Clean up aborted transactions to avoid
assertion failures and memory leaks on shutdown. This code was
previously in trx_rollback_active().

trx_rollback_to_savepoint_low(), trx_rollback_for_mysql_low():
Remove some redundant assertions.
This commit is contained in:
Marko Mäkelä
2018-04-10 18:01:21 +03:00
parent 8334aced00
commit dd127799bc
11 changed files with 90 additions and 85 deletions

View File

@@ -28,6 +28,7 @@ COUNT(*)
1
START TRANSACTION;
connection default;
SET GLOBAL innodb_fast_shutdown=3;
SELECT COUNT(*) FROM worklog5743;
COUNT(*)
1
@@ -53,6 +54,7 @@ worklog5743;
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
1 1
connection default;
SET GLOBAL innodb_fast_shutdown=3;
SELECT COUNT(*) FROM worklog5743;
COUNT(*)
1
@@ -76,6 +78,7 @@ worklog5743;
col_1_text = REPEAT("b", 3500) col_2_text = REPEAT("o", 3500)
1 1
connection default;
SET GLOBAL innodb_fast_shutdown=3;
SELECT COUNT(*) FROM worklog5743;
COUNT(*)
1