1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

MDEV-34705: Binlog-in-engine: Fix race between reader and flush

A reader could latch a page that was currently being flushed to disk, while
the flushing thread is temporarily releasing the mutex. If the page was
complete with data when the flushing started, the flush thread would not
correctly wait for the reader to release the latch, and the page could be
freed while the reader was still using it.

Also adjust a couple assertions to reflect the addition of the file header
page as page 0.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
This commit is contained in:
Kristian Nielsen
2025-04-07 08:47:46 +02:00
parent dfb6fc0dc7
commit da3e9edafb
2 changed files with 20 additions and 6 deletions

View File

@@ -3,6 +3,7 @@
[mysqld.1]
innodb
binlog-storage-engine=innodb
max_binlog_size=8M
innodb-binlog-state-interval=128k
log-basename= master
@@ -10,6 +11,7 @@ log-basename= master
#!use-slave-opt
innodb
binlog-storage-engine=innodb
max_binlog_size=8M
innodb-binlog-state-interval=128k
log-slave-updates
log-basename= slave