Commit cf37e44e authored by Marko Mäkelä's avatar Marko Mäkelä Committed by Sergei Golubchik

MDEV-31350: Hang in innodb.recovery_memory

buf_flush_page_cleaner(): Whenever buf_pool.ran_out(), invoke
buf_pool.get_oldest_modification(0) so that all clean blocks
will be removed from buf_pool.flush_list and buf_flush_LRU_list_batch()
will be able to evict some pages.

This fixes a regression that was likely caused by
commit a55b951e (MDEV-26827).
parent dd298873
...@@ -2322,6 +2322,7 @@ static void buf_flush_page_cleaner() ...@@ -2322,6 +2322,7 @@ static void buf_flush_page_cleaner()
else if (buf_pool.ran_out()) else if (buf_pool.ran_out())
{ {
buf_pool.page_cleaner_set_idle(false); buf_pool.page_cleaner_set_idle(false);
buf_pool.get_oldest_modification(0);
mysql_mutex_unlock(&buf_pool.flush_list_mutex); mysql_mutex_unlock(&buf_pool.flush_list_mutex);
n= srv_max_io_capacity; n= srv_max_io_capacity;
mysql_mutex_lock(&buf_pool.mutex); mysql_mutex_lock(&buf_pool.mutex);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment