summaryrefslogtreecommitdiff
path: root/win
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-09-09 09:05:26 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-09-09 09:05:26 +0300
commit6e3bd663d0fc669ffa6ab4c5f5aa57a1244ac555 (patch)
tree2d275b7bedafefeeed71b2d77afbe2bb16dcaad9 /win
parenteb2f2c1e5f5989a225154f6a7eb3487fb722f65e (diff)
downloadmariadb-git-6e3bd663d0fc669ffa6ab4c5f5aa57a1244ac555.tar.gz
MDEV-25776 Race conditions in buf_pool.page_hash around buf_pool.watchbb-10.5-MDEV-25776
Any modification of buf_pool.page_hash is supposed to be protected by buf_pool.mutex and page_hash_latch::write_lock(). The buffer pool watch mechanism of the InnoDB change buffer was violating that ever since commit b1ab211dee599eabd9a5b886fafa3adea29ae041 (MDEV-15053). buf_pool_t::watch_set(): Extend the critical section of buf_pool.mutex. buf_pool_t::watch_unset(): Define non-inline, because calls are infrequent and this function became larger. If we have to detach a sentinel from page_hash, do it while holding both the mutex and the exclusive hash latch. buf_pool_t::watch_remove(): Assert that the mutex is being held. buf_page_init_for_read(): Remove some work-arounds for previously encountered race conditions related to buf_pool.watch.
Diffstat (limited to 'win')
0 files changed, 0 insertions, 0 deletions