summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2019-01-07 12:12:30 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2019-01-07 12:12:30 +0200
commit1d56d875fe28f34cefc1bb4e162331ae9f4ce9bb (patch)
tree0257ee1a9dbcce199eecb6e24ab4406010f5c4b7 /extra
parent7158edcba3af3766e9329f9927ce4adfd2a40bf8 (diff)
downloadmariadb-git-1d56d875fe28f34cefc1bb4e162331ae9f4ce9bb.tar.gz
MDEV-15740: InnoDB does not flush redo log when it shoul
During database recovery, a transaction with wsrep XID is recovered from InnoDB in prepared state. However, when the transaction is looked up with trx_get_trx_by_xid() in innobase_commit_by_xid(), trx->xid gets cleared in trx_get_trx_by_xid_low() and commit time serialization history write does not update the wsrep XID in trx sys header for that recovered trx. As a result the transaction gets committed during recovery but the wsrep position does not get updated appropriately. As a fix, we preserve trx->xid for Galera over transaction commit in recovery phase. Fix authored by: Teemu Ollakka (GaleraCluster) and Marko Mäkelä. modified: mysql-test/suite/galera/disabled.def modified: mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result modified: mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result modified: mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.test modified: mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test modified: storage/innobase/trx/trx0trx.cc modified: storage/xtradb/trx/trx0trx.cc
Diffstat (limited to 'extra')
0 files changed, 0 insertions, 0 deletions