Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.2, 10.3.0, 10.4.0
Description
In the functions rtr_page_copy_rec_list_end_no_locks() and rtr_page_copy_rec_list_start_no_locks(), no redo log is being written for clearing a bit in the R-tree page:
if (rec_get_deleted_flag(cur1_rec, |
dict_table_is_comp(index->table))) {
|
goto next; |
} else { |
/* We have two identical leaf records, |
skip copying the undeleted one, and
|
unmark deleted on the current page */
|
btr_rec_set_deleted_flag(
|
cur_rec, NULL, FALSE);
|
goto next; |
}
|
This call is also passing page_zip=NULL, which ought to cause UNIV_ZIP_DEBUG assertion failures when using ROW_FORMAT=COMPRESSED. But, that parameter was changed in MySQL 5.7.5 exactly to address the failure of a UNIV_ZIP_DEBUG check. There code change is associated with a test case change, so we have some hope that the failure is repeatable.
The purpose of this call is unclear. It was added as part of introducing InnoDB R-tree index support.
The bug was found as part of implementing a purely physical redo log record format in MDEV-12353.
Attachments
Issue Links
- relates to
-
MDEV-12353 Efficient InnoDB redo log record format
- Closed