[MDEV-30860] Race condition between buffer pool flush and log file deletion in mariadb-backup --prepare Created: 2023-03-16 Updated: 2023-03-16 Resolved: 2023-03-16 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Backup |
| Affects Version/s: | 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0 |
| Fix Version/s: | 10.11.3, 11.0.2, 10.5.20, 10.6.13, 10.7.8, 10.8.8, 10.9.6, 10.10.4 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | crash, race | ||
| Issue Links: |
|
||||||||
| Description |
|
The test mariabackup.innodb_force_recovery occasionally failed in a 10.6 based development branch that contains a fix of
This fix worked in the case that I was able to reproduce:
The failure that I observed was caused by the fact that buf_flush_page_cleaner() took a little longer to write out the recovered modified pages, and this thread had already executed recv_sys.debug_free(), which causes the page cleaner to attempt to write checkpoint information. The failures that I observed were caused by the fact that this thread had already closed and deleted the ib_logfile0 when buf_flush_page_cleaner() unexpectedly invoked log_checkpoint_low(). This type of failure should be caused by Because I have no stack traces of the test case timeouts, I am unable say if the above patch would fix them. |