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

              marko Marko Mäkelä
              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.