Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
13.0
-
Related to performance
-
An unnecessary write of the entire buffer pool could be triggered by SET GLOBAL innodb_log_archive=OFF.
Description
During the testing of MDEV-14992 it turned out that disabling the log archiving by executing
SET GLOBAL innodb_log_archive=OFF; |
would trigger a full buffer pool flush:
|
a848493c6fe031f23606144420c1ca1e467cbd81:storage/innobase/log/log0log.cc |
|
796
|
wait_lsn= 0;
|
797
|
retry_after_checkpoint:
|
798
|
IF_WIN(log_resize_release_locks(),);
|
799
|
if (wait_lsn) |
800
|
{
|
801
|
mysql_mutex_lock(&buf_pool.flush_list_mutex);
|
802
|
buf_flush_wait(wait_lsn, false); |
803
|
mysql_mutex_unlock(&buf_pool.flush_list_mutex);
|
804
|
}
|
805
|
latch.wr_unlock();
|
806
|
continue; |
In my test scenario, the log file format is being changed in place.
If we made innodb_log_archive=ON write the sequence bit exactly in the same way as innodb_log_archive=OFF, then the wait for an extra checkpoint should be avoidable.
Attachments
Issue Links
- blocks
-
MDEV-14992 BACKUP SERVER to mounted file system
-
- In Progress
-
- relates to
-
MDEV-37949 Implement innodb_log_archive
-
- Closed
-
-
MDEV-40683 SET GLOBAL innodb_log_archive=OFF may break recovery and backup
-
- Closed
-