mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
67d89e4d7d
When InnoDB has completed the rollback of a recovered transaction, it used to display the transaction identifier. This was broken in MySQL 5.7.2 in2f5f3cd3ac
which was merged to MariaDB 10.2.2 in commit2e814d4702
. trx_rollback_active(): Cache the transaction ID before it will be reset by transaction commit. Do not display the message if the rollback was interrupted by shutdown (MDEV-13797, MDEV-12352).
36 lines
802 B
Text
36 lines
802 B
Text
call mtr.add_suppression("InnoDB: New log files created");
|
|
CREATE TABLE t(a INT UNSIGNED PRIMARY KEY) ENGINE INNODB;
|
|
INSERT INTO t VALUES(0);
|
|
COMMIT;
|
|
start transaction;
|
|
connect flush_log,localhost,root,,;
|
|
BEGIN;
|
|
DELETE FROM t LIMIT 1;
|
|
SET GLOBAL innodb_flush_log_at_trx_commit = 1;
|
|
ROLLBACK;
|
|
disconnect flush_log;
|
|
connection default;
|
|
NOT FOUND /Rolled back recovered transaction/ in current_test
|
|
# expect NOT FOUND
|
|
NOT FOUND /Rolled back recovered transaction/ in current_test
|
|
# expect NOT FOUND
|
|
commit;
|
|
SELECT count(*) FROM t;
|
|
count(*)
|
|
201
|
|
# Restore and check results
|
|
# shutdown server
|
|
# remove datadir
|
|
# xtrabackup move back
|
|
# restart server
|
|
SELECT COUNT(*) FROM t;
|
|
COUNT(*)
|
|
1
|
|
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
|
SELECT COUNT(*) FROM t;
|
|
COUNT(*)
|
|
201
|
|
SELECT * FROM t;
|
|
a
|
|
0
|
|
DROP TABLE t;
|