Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 10.1.3, 10.2.0, 10.3.0
-
Fix Version/s: 10.5.2
-
Component/s: Storage Engine - InnoDB
-
Labels:
Description
When a InnoDB data file page is freed, its contents becomes garbage, and any storage allocated in the data file is wasted.
MariaDB 10.4 introduced an InnoDB redo log record MLOG_INIT_FREE_PAGE for marking pages as freed. In MDEV-12353 (MariaDB 10.5.2), that record was replaced with FREE_PAGE. This record could be treated as no-op, or we can punch a hole for page_compressed=1 tables.
If innodb_immediate_scrub_data_uncompressed is set, we should initialize the page with zeros. This will replace some of the non-working scrubbing logic (MDEV-8139). The scrubbing will be fixed further in MDEV-8139.
The following parameters will be deprecated and ignored and the problematic ‘background scrubbing’ code removed:
- innodb-background-scrub-data-uncompressed
- innodb-background-scrub-data-compressed
- innodb-background-scrub-data-interval
- innodb-background-scrub-data-check-interval
For page_compressed tables the freed page will be hole-punched
Attachments
Issue Links
- blocks
-
MDEV-12227 Defer writes to the InnoDB temporary tablespace
-
- Closed
-
-
MDEV-17596 Assertion `block->page.flush_observer == __null || block->page.flush_observer == observer' failed in buf_flush_note_modification
-
- Closed
-
-
MDEV-18724 Replace buf_block_t::mutex with more std::atomic
-
- Closed
-
- causes
-
MDEV-22096 Mariabackup copied too old page or too new checkpoint
-
- Closed
-
-
MDEV-22097 Not applying DELETE_ROW_FORMAT_REDUNDANT due to corruption
-
- Closed
-
-
MDEV-22103 INNODB_ENCRYPTION_NUM_KEY_REQUESTS is missing from INFORMATION_SCHEMA.GLOBAL_STATUS
-
- Closed
-
-
MDEV-22139 fseg_free_page_low() fails to write FREE_PAGE record, breaking recovery
-
- Closed
-
-
MDEV-22169 Recovery fails after failing to insert into mlog_init
-
- Closed
-
-
MDEV-22495 Assertion mode == 16 || mode == 12 || fix_block->page.status != buf_page_t::FREED failed in ibuf_read_merge_pages()
-
- Closed
-
-
MDEV-22710 Assertion `mode == 16 || mode == 12 || fix_block->page.status != buf_page_t::FREED' failed in buf_page_get_low
-
- Closed
-
-
MDEV-23252 Assertion failure 'req_type.is_dblwr_recover() || err == DB_SUCCESS' for page_compressed tables
-
- Closed
-
-
MDEV-24695 Encryption is modifying a freed page
-
- Closed
-
-
MDEV-27500 buf_page_free() fails to drop the adaptive hash index
-
- Closed
-
-
MDEV-27985 buf_flush_freed_pages() causes InnoDB to hang
-
- Closed
-
- relates to
-
MDEV-11696 Page Compression Has No Effect on Table Data File Size
-
- Closed
-
-
MDEV-16526 Overhaul the InnoDB page flushing
-
- Open
-
-
MDEV-17380 innodb_flush_neighbors=ON should be ignored on SSD
-
- Closed
-
-
MDEV-21952 ibdata1 file size growing in MariaDB
-
- Closed
-
-
MDEV-23973 Change buffer corruption when reallocating an recently freed page
-
- Closed
-
-
MDEV-24569 Assertion `mach_read_from_4(frame + 4U) == block.page.id().page_no()' failed in log_phys_t::apply
-
- Closed
-
-
MDEV-25026 Various code paths are accessing freed pages
-
- Closed
-
-
MDEV-8139 Fix scrubbing
-
- Closed
-
-
MDEV-11068 Review which innodb_compression_algorithm to support in binary packages
-
- In Progress
-
-
MDEV-12226 Avoid writes of freed (garbage) pages to InnoDB data files
-
- Closed
-
-
MDEV-12699 Improve crash recovery of corrupted data pages
-
- Closed
-
-
MDEV-16796 TRUNCATE TABLE slowdown with innodb_file_per_table=ON
-
- Closed
-
-
MDEV-17380 innodb_flush_neighbors=ON should be ignored on SSD
-
- Closed
-
-
MDEV-18698 Show InnoDB's internal background threads in SHOW ENGINE INNODB STATUS
-
- Open
-
-
MDEV-20813 Assertion `!srv_safe_truncate || !newest_lsn || fil_page_get_type(page)' or `!newest_lsn || fil_page_get_type(page)' failed in buf_flush_init_for_writing
-
- Closed
-
-
MDEV-22190 After IMPORT: InnoDB: Record 126 is above rec heap top 120
-
- Closed
-
-
MDEV-22839 ROW_FORMAT=COMPRESSED vs PAGE_COMPRESSION=1 - size comparison
-
- Open
-
-
MDEV-24780 [FATAL] InnoDB: Trying to read page number <...> with encryption and innodb-background-scrub-data-uncompressed
-
- Closed
-