Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
The writing of modified InnoDB data pages to data files should be overhauled. See some of the comments in MDEV-15058.
Attachments
Issue Links
- includes
-
MDEV-12227 Defer writes to the InnoDB temporary tablespace
-
- Closed
-
-
MDEV-23754 Replace buf_pool.flush_list with a priority queue
-
- Closed
-
-
MDEV-23756 Implement event-driven innodb_adaptive_flushing=OFF that ignores innodb_io_capacity
-
- Open
-
- is blocked by
-
MDEV-15053 Reduce buf_pool_t::mutex contention
-
- Closed
-
-
MDEV-18115 Remove dummy tablespace for the redo log
-
- Closed
-
-
MDEV-19514 Defer change buffer merge until pages are requested
-
- Closed
-
-
MDEV-23399 10.5 performance regression with IO-bound tpcc
-
- Closed
-
-
MDEV-26827 Make page flushing even faster
-
- Closed
-
- relates to
-
MDEV-11378 AliSQL: [Perf] Issue#23 MERGE INNODB AIO REQUEST
-
- Open
-
-
MDEV-11384 AliSQL: [Feature] Issue#19 BUFFER POOL LIST SCAN OPTIMIZATION
-
- Closed
-
-
MDEV-15058 Remove multiple InnoDB buffer pool instances
-
- Closed
-
-
MDEV-16339 Upgrading to 10.1.32 shows innodb_empty_free_list_algorithm=BACKOFF as default when it should be 'LEGACY'
-
- Closed
-
-
MDEV-17481 mariadb service won't shutdown when it's running and the OS datetime updated backwards
-
- Closed
-
-
MDEV-19356 Assertion 'space->free_limit == 0 || space->free_limit == free_limit'
-
- Closed
-
-
MDEV-21132 Remove buf_page_t::newest_modification
-
- Closed
-
-
MDEV-24854 Change innodb_flush_method=O_DIRECT by default
-
- Closed
-
-
MDEV-11916 Page compression - use smaller writes, avoid trimming/zeroing rest of the page if possible
-
- Open
-
-
MDEV-12226 Avoid writes of freed (garbage) pages to InnoDB data files
-
- Closed
-
-
MDEV-13670 [Note] InnoDB: page_cleaner: 1000ms intended loop took XXXXms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
-
- Closed
-
-
MDEV-14425 Change the InnoDB redo log format to reduce write amplification
-
- Closed
-
-
MDEV-14550 Error log flood : "InnoDB: page_cleaner: 1000ms intended loop took N ms. The settings might not be optimal."
-
- Closed
-
-
MDEV-15528 Avoid writing freed InnoDB pages
-
- Closed
-
- links to
It appears that XtraDB used to disable the single-page flushing when using a larger buffer pool, via the Boolean-disguised-as-enum parameter innodb_empty_free_list_algorithm=BACKOFF. The logic would sometimes fail, as reported in
MDEV-16339.I think that we should consider removing the single-page flushing nevertheless. Perhaps there could be active signaling between the page cleaner and the buf_LRU_get_free_block(), instead of passive sleeping?