1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

MDEV-36771 Assertion 'bulk_insert == TRX_NO_BULK' failed in trx_t::assert_freed

- InnoDB fails to reset bulk_insert of a transaction while freeing
the transaction during shutting down of a server.
This commit is contained in:
Thirunarayanan Balathandayuthapani
2025-05-26 11:48:07 +05:30
parent 3da36fa130
commit db188083c3
3 changed files with 32 additions and 0 deletions

View File

@@ -580,4 +580,20 @@ WHERE variable_name = 'innodb_bulk_operations';
bulk_operations
1
DROP TABLE t1;
call mtr.add_suppression("Found 1 prepared XA transactions");
#
# MDEV-36771 Assertion `bulk_insert == TRX_NO_BULK' failed
# in trx_t::assert_freed from innodb_shutdown
#
CREATE TABLE t1(f1 INT)ENGINE=InnoDB;
XA START 'a';
INSERT INTO t1 VALUES(1);
XA END 'a';
XA PREPARE 'a';
# restart
XA COMMIT 'a';
SELECT * FROM t1;
f1
1
DROP TABLE t1;
# End of 10.11 tests

View File

@@ -638,4 +638,19 @@ SELECT variable_value-@old_bulk_op bulk_operations
FROM information_schema.global_status
WHERE variable_name = 'innodb_bulk_operations';
DROP TABLE t1;
call mtr.add_suppression("Found 1 prepared XA transactions");
--echo #
--echo # MDEV-36771 Assertion `bulk_insert == TRX_NO_BULK' failed
--echo # in trx_t::assert_freed from innodb_shutdown
--echo #
CREATE TABLE t1(f1 INT)ENGINE=InnoDB;
XA START 'a';
INSERT INTO t1 VALUES(1);
XA END 'a';
XA PREPARE 'a';
--source include/restart_mysqld.inc
XA COMMIT 'a';
SELECT * FROM t1;
DROP TABLE t1;
--echo # End of 10.11 tests