diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-12-04 18:25:01 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-12-04 18:25:01 +0200 |
commit | 2352f51625e5045649c7190774c8a200f3388359 (patch) | |
tree | b24a1b544d2dca5a2ea227f9393f730fbd597fa1 | |
parent | 6b5cdd4ff745e3254cb05935bd1efa4b48a29549 (diff) | |
download | mariadb-git-2352f51625e5045649c7190774c8a200f3388359.tar.gz |
MDEV-21174: Fix Galera
trx_rseg_write_wsrep_checkpoint(): Use mtr_t::OPT, because
much of the time, the redo log writes would be redundant.
This was broken in commit 56f6dab1d0e5a464ea49c1e5efb0032a0f5cea3e.
-rw-r--r-- | storage/innobase/trx/trx0rseg.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/storage/innobase/trx/trx0rseg.cc b/storage/innobase/trx/trx0rseg.cc index 691dc9a65bd..546a4c51e03 100644 --- a/storage/innobase/trx/trx0rseg.cc +++ b/storage/innobase/trx/trx0rseg.cc @@ -55,17 +55,20 @@ trx_rseg_write_wsrep_checkpoint( DBUG_ASSERT(xid->bqual_length >= 0); DBUG_ASSERT(xid->gtrid_length + xid->bqual_length < XIDDATASIZE); - mtr->write<4>(*rseg_header, TRX_RSEG + TRX_RSEG_WSREP_XID_FORMAT - + rseg_header->frame, - uint32_t(xid->formatID)); + mtr->write<4,mtr_t::OPT>(*rseg_header, + TRX_RSEG + TRX_RSEG_WSREP_XID_FORMAT + + rseg_header->frame, + uint32_t(xid->formatID)); - mtr->write<4>(*rseg_header, TRX_RSEG + TRX_RSEG_WSREP_XID_GTRID_LEN - + rseg_header->frame, - uint32_t(xid->gtrid_length)); + mtr->write<4,mtr_t::OPT>(*rseg_header, + TRX_RSEG + TRX_RSEG_WSREP_XID_GTRID_LEN + + rseg_header->frame, + uint32_t(xid->gtrid_length)); - mtr->write<4>(*rseg_header, TRX_RSEG + TRX_RSEG_WSREP_XID_BQUAL_LEN - + rseg_header->frame, - uint32_t(xid->bqual_length)); + mtr->write<4,mtr_t::OPT>(*rseg_header, + TRX_RSEG + TRX_RSEG_WSREP_XID_BQUAL_LEN + + rseg_header->frame, + uint32_t(xid->bqual_length)); const ulint xid_length = static_cast<ulint>(xid->gtrid_length + xid->bqual_length); |