diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-11-17 15:07:37 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-11-17 15:07:37 +0200 |
commit | 4a3d59788877a7146059a00d516e8ae36b486899 (patch) | |
tree | 0b05079a1409d2b0729b298b8c806b861e151d18 | |
parent | ab4f743610dd65702c9d511475a753d935649498 (diff) | |
download | mariadb-git-bb-10.2-MDEV-24188.tar.gz |
MDEV-24188 fixup: Correct the FindBlockX predicatebb-10.2-MDEV-24188
FindBlockX::operator(): Return false if an x-latched block is found.
Previously, we were incorrectly returning false if the block was in
the log, only if not x-latched.
It is unknown if this mistake had any visible impact. Often,
we would register both MTR_MEMO_BUF_FIX and MTR_MEMO_PAGE_X_FIX
for the same block.
-rw-r--r-- | storage/innobase/mtr/mtr0mtr.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/storage/innobase/mtr/mtr0mtr.cc b/storage/innobase/mtr/mtr0mtr.cc index f966d4c74c6..fefc0687ddb 100644 --- a/storage/innobase/mtr/mtr0mtr.cc +++ b/storage/innobase/mtr/mtr0mtr.cc @@ -804,7 +804,7 @@ mtr_t::release_free_extents(ulint n_reserved) space->release_free_extents(n_reserved); } -/** Find out whether a block was X-latched by the mini-transaction */ +/** Find out whether a block was not X-latched by the mini-transaction */ struct FindBlockX { const buf_block_t █ @@ -814,7 +814,7 @@ struct FindBlockX /** @return whether the block was not found x-latched */ bool operator()(const mtr_memo_slot_t *slot) const { - return slot->object != &block || slot->type == MTR_MEMO_PAGE_X_FIX; + return slot->object != &block || slot->type != MTR_MEMO_PAGE_X_FIX; } }; |