Bug #89065 | sync_binlog=1 on a busy server and slow binary log filesystem stalls slaves | ||
---|---|---|---|
Submitted: | 27 Dec 2017 14:13 | Modified: | 8 Jan 2018 12:58 |
Reporter: | Riccardo Pizzi | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.6.35 | OS: | Any |
Assigned to: | MySQL Verification Team | CPU Architecture: | Any |
[27 Dec 2017 14:13]
Riccardo Pizzi
[27 Dec 2017 14:14]
Riccardo Pizzi
threads dump during the issue
Attachment: threads_dump.txt (text/plain), 7.20 KiB.
[8 Jan 2018 12:52]
MySQL Verification Team
Hi, Yes, this behavior can easily be reproduced but I don't believe it is a bug. It is fairly well documented what's happening when you set sync_binlog to 1 and setting it to 1 on slow storage is just wrong config, not a bug. all best Bogdan
[8 Jan 2018 12:57]
Riccardo Pizzi
Well, it is documented that there is a performance penalty, not that replication stops because the slave threads don't have a change to access the binlog file. I really believe the locks that protect the binlog subsystem should be changed so that only the current file is protected, not all of them. From what I see, the locks protect *any* access to *any* binlog file, even old ones. There is where in my opinion the bug exists. If we only protect the current file, slave threads are free to access the previous one (for example) and the problem would be mitigated if not solved. Thanks, Rick
[8 Jan 2018 12:58]
Riccardo Pizzi
Sorry, I meant "don't have a chance" above.