
Hi, Andrei! On Jun 13, andrei.elkin@pp.inet.fi wrote:
revision-id: 0918ae42a8394b6faf28f67b70550894851be3bb (mariadb-10.1.33-36-g0918ae42a83) parent(s): 26be5072429082e634b8fc102609370975443439 author: Andrei Elkin committer: Andrei Elkin timestamp: 2018-06-13 16:27:00 +0300 message:
MDEV-14014 Multi-Slave Replication Fail: bogus data in log event
MDEV-7257 made a dump thread to read from binlog concurrently with writers as long as the read bytes are below a water-mark (MYSQL_BIN_LOG::binlog_end_pos). However it appeared to be possible a dump thread reader reach out for bytes past the water mark through a feature of IO_CACHE that fills in the internal buffer and while doing so it could read what the reader is not supposed to see (the bytes above MYSQL_BIN_LOG::binlog_end_pos).
The issue is fixed with constraining the IO_CACHE buffer fill to respect the watermark. An added test simulates potentially unconstrained buffer fill and an assert guards this is not the case anymore.
Looks good, thanks! Regards, Sergei Chief Architect MariaDB and security@mariadb.org