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:
parent
3da36fa130
commit
db188083c3
@ -580,4 +580,20 @@ WHERE variable_name = 'innodb_bulk_operations';
|
|||||||
bulk_operations
|
bulk_operations
|
||||||
1
|
1
|
||||||
DROP TABLE t1;
|
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
|
# End of 10.11 tests
|
||||||
|
@ -638,4 +638,19 @@ SELECT variable_value-@old_bulk_op bulk_operations
|
|||||||
FROM information_schema.global_status
|
FROM information_schema.global_status
|
||||||
WHERE variable_name = 'innodb_bulk_operations';
|
WHERE variable_name = 'innodb_bulk_operations';
|
||||||
DROP TABLE t1;
|
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
|
--echo # End of 10.11 tests
|
||||||
|
@ -515,6 +515,7 @@ TRANSACTIONAL_TARGET void trx_free_at_shutdown(trx_t *trx)
|
|||||||
ut_a(trx->magic_n == TRX_MAGIC_N);
|
ut_a(trx->magic_n == TRX_MAGIC_N);
|
||||||
|
|
||||||
ut_d(trx->apply_online_log = false);
|
ut_d(trx->apply_online_log = false);
|
||||||
|
trx->bulk_insert = 0;
|
||||||
trx->commit_state();
|
trx->commit_state();
|
||||||
trx->release_locks();
|
trx->release_locks();
|
||||||
trx->mod_tables.clear();
|
trx->mod_tables.clear();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user