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

make mariabackup innodb redo log read error message more clear

    XMLWordPrintable

    Details

      Description

      Currently mariabackup can fail reading InnoDB redo log during backup due to two reasons:
      1) Redo log block was incompletely written by server or damaged. In this case mariabackup tries to re-read log block several times before fail.
      2) Redo log block was overwritten, as it is currently implemented as circular buffer, and mariabackup can read it slower then it is written.

      In both cases there will be the same error message in backup log. In the second case the workaround is to increase InnoDB redo log size. But users do not know about such workaround as they don't have clear enough error message.

      mariabackup uses InnoDB function to read redo log: log_t::file::read_log_seg(). Each log block contains it's log block number which can be converted in log block LSN. The function returns error if log block LSN does no match requested LSN. In mariabackup we could get log block number from log_sys.buf and check if "read log block number LSN" - "requested LSN" > "log size", then this is the second case, and we could output error message with advise to increase redo log size.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              vlad.lesin Vladislav Lesin
              Reporter:
              vlad.lesin Vladislav Lesin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: