MDEV-18632: wsrep_is_wsrep_xid: Conditional jump or move depends on uninitialised value
Transaction XID is not initialized before transaction is started.
This commit is contained in:
parent
2a935329bc
commit
48554fe2db
10
mysql-test/suite/innodb/r/innodb-rollback.result
Normal file
10
mysql-test/suite/innodb/r/innodb-rollback.result
Normal file
@ -0,0 +1,10 @@
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
connect con1,localhost,root,,test;
|
||||
ALTER TABLE t1;
|
||||
connect con2,localhost,root,,test;
|
||||
SELECT f() FROM t1;
|
||||
ERROR 42000: FUNCTION test.f does not exist
|
||||
disconnect con2;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
DROP TABLE t1;
|
17
mysql-test/suite/innodb/t/innodb-rollback.test
Normal file
17
mysql-test/suite/innodb/t/innodb-rollback.test
Normal file
@ -0,0 +1,17 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
#
|
||||
# MDEV-18632: wsrep_is_wsrep_xid: Conditional jump or move depends on uninitialised value
|
||||
#
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
--connect (con1,localhost,root,,test)
|
||||
ALTER TABLE t1;
|
||||
--connect (con2,localhost,root,,test)
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
SELECT f() FROM t1;
|
||||
|
||||
# Cleanup
|
||||
--disconnect con2
|
||||
--disconnect con1
|
||||
--connection default
|
||||
DROP TABLE t1;
|
@ -4712,7 +4712,7 @@ innobase_rollback(
|
||||
trx is being rolled back due to BF abort, clear XID in order
|
||||
to avoid writing it to rollback segment out of order. The XID
|
||||
will be reassigned when the transaction is replayed. */
|
||||
if (wsrep_is_wsrep_xid(trx->xid)) {
|
||||
if (trx->state != TRX_STATE_NOT_STARTED && wsrep_is_wsrep_xid(trx->xid)) {
|
||||
trx->xid->null();
|
||||
}
|
||||
#endif /* WITH_WSREP */
|
||||
|
Loading…
x
Reference in New Issue
Block a user