[MDEV-29429] "free" innodb pages from dropped table/index/(deleted?)/table rebuild Created: 2022-09-01 Updated: 2023-01-04 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Fix Version/s: | None |
| Type: | Task | Priority: | Minor |
| Reporter: | Daniel Black | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | energy | ||
| Issue Links: |
|
||||||||
| Description |
|
From previous, Evict all pages that became useless after DROP TABLE or a table rebuild. Currently they exist in the innodb buffer pool and will be evicted once their LRU drops as they won't exist again. To be memory efficient we should `set_os_unused()` to allow the OS to reclaim these memory if required. I don't think we want to do the synchronously otherwise the single query performance drops. So maybe this is some additional thing that happens in the purge thread. |
| Comments |
| Comment by Marko Mäkelä [ 2023-01-04 ] |
|
It could make sense to have the dedicated buf_flush_page_cleaner() thread evict all pages from the buf_pool.LRU list that are associated with a dropped tablespace or a freed page in an existing tablespace. |