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

Not applying DELETE_ROW_FORMAT_REDUNDANT due to corruption

    XMLWordPrintable

    Details

      Description

      In our test environment, we got a case where mariabackup --prepare would fail to apply log due to corruption on a ROW_FORMAT=REDUNDANT page.

      With a debugger, I collected the following records (start_lsn, lsn, log record data) for the page from log_phys_t::apply():

      start_lsn lsn data
      1871057 1873747 3509817f0b5a
      1883172 1885878 3609817f0e016b
      1883172 1885878 3609817f300000
      1883172 1885878 3809817f2c03da068eb20702
      1883172 1885878 b23603
      1883172 1885878 b489770074
      1883172 1885878 3609817f801200*
      1914429 1917880 3509817f0b3a
      1947460 1947479 3609817f869b20
      1947460 1947479 ba0d06420f00000379051a
      1947597 1947624 3909817f89c2ffffffff
      1947597 1947624 b30a0000
      1947624 1947631 2509817f0800

      The problem was detected at the last record, DELETE_ROW_FORMAT_REDUNDANT of the first user record on the page. Earlier in the log, the link to the page supremum record in the last record of the page (there were only two records) was replaced with a null pointer, by the last record listed for start_lsn=1883172.

      Apparently, some log record was not written.

      We had a rr record of the server process, but unfortunately it became unusable due to some change in the environment (probably related to updating shared libraries when upgrading the operating system). We must repeat this bug again so that it can be analyzed with rr replay.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved: