Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.6, 10.10(EOL), 10.11, 11.0(EOL), 11.1(EOL), 11.2(EOL)
Description
While running performance tests with a small buffer pool, I encountered an anomaly where InnoDB would hang because of running out of buffer pool. There would be some actually clean blocks at buf_pool.flush_list.start, but these would be skipped by buf_flush_LRU_list_batch(). The buf_pool.flush_list.end is being trimmed by periodic calls to buf_pool.get_oldest_modification(). I suspect that the entire buf_pool.LRU would be skipped because of being buffer-fixed, latched, or registered in buf_pool.flush_list due to the MDEV-26010 optimization.
This seems to be a 10.6 regression due to MDEV-26827.
MDEV-32050 would make this problem worse by allowing the purge_coordinator_task to buffer-fix a large number of pages.
Attachments
Issue Links
- is caused by
-
MDEV-26827 Make page flushing even faster
- Closed
- relates to
-
MDEV-33613 InnoDB may still hang when temporarily running out of buffer pool
- Closed
-
MDEV-26010 Assertion `lsn > 2' failed in buf_pool_t::get_oldest_modification
- Closed
-
MDEV-32050 UNDO logs still growing for write-intensive workloads
- Closed
-
MDEV-33508 Performance regression due to frequent scan of full buf_pool.flush_list
- Closed