Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.8.0, 10.5.12, 10.6.3, 10.7.0, 10.9.0, 10.10.0
Description
A merge by me introduced a regression in MariaDB Server 10.5.12 in the function trx_undo_seg_free():
- mtr.memset(rseg_header, TRX_RSEG + TRX_RSEG_UNDO_SLOTS
|
- + undo->id * TRX_RSEG_SLOT_SIZE, 4, 0xff);
|
++ memset(TRX_RSEG + TRX_RSEG_UNDO_SLOTS
|
++ + undo->id * TRX_RSEG_SLOT_SIZE +
|
++ rseg_header->frame, 0xff, 4); |
Before the merge, a MEMSET record was being written to the redo log. Ever since the merge, we are only modifying the rollback segment header page without writing any log about the change. This might impact crash recovery and backup.
The code was being changed as part of MDEV-15912.
Attachments
Issue Links
- relates to
-
MDEV-15912 InnoDB: Failing assertion: purge_sys.tail.commit <= purge_sys.rseg->last_commit upon upgrade from 10.0 or 10.1 to 10.3
- Closed