Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-29475

trx_undo_rseg_free() does not write redo log

    XMLWordPrintable

    Details

      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

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              marko Marko Mäkelä
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.