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

mariabackup silently ended during xtrabackup_copy_logfile()

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Won't Fix
    • 10.3.11, 10.2(EOL), 10.4(EOL)
    • N/A
    • mariabackup
    • None

    Description

      Mariabackup silently stopped in some cases.

      Regarding an analysis from vlad.lesin , it will be happen, if

      log_sys.log.read_log_seg() returns 0, even if there was something wring during reading.

      Variant 1:
      log_sys.log.read_log_seg() returned true, but lsn == start_lsn.

      ) log_sys.log.read_log_seg() returned true, but lsn == start_lsn. If we look into log_t::files::read_log_seg(), we will see that the function can silently return true and do not advance lsn on the following condition:
      === log_t::files::read_log_seg()
      if (block_number != log_block_convert_lsn_to_no(*start_lsn)) {
      /* Garbage or an incompletely written log block.
      We will not report any error, because this can
      happen when InnoDB was killed while it was
      writing redo log. We simply treat this as an
      abrupt end of the redo log. */
      end_lsn = *start_lsn;
      break;
      }
      

      Variant 2:

      Downloaded buffer is unequal to expected datasize.

       
      === log_t::files::read_log_seg()
      if (dl < LOG_BLOCK_HDR_SIZE
      || (dl > OS_FILE_LOG_BLOCK_SIZE - LOG_BLOCK_TRL_SIZE
      && dl != OS_FILE_LOG_BLOCK_SIZE)) {
      recv_sys->found_corrupt_log = true;
      end_lsn = *start_lsn;
      break;
      }
      === log_t::files::read_log_seg()
      

      But in this case the flag about corrupted log is set.

      Suggested fix from vlad.lesin

       
      ===
      --- a/extra/mariabackup/xtrabackup.cc
      +++ b/extra/mariabackup/xtrabackup.cc
      @@ -2728,13 +2728,19 @@ static bool xtrabackup_copy_logfile(bool last = false)
      lsn_t lsn= start_lsn;
      for (int retries= 0; retries < 100; retries++) {
      if (log_sys.log.read_log_seg(&lsn, end_lsn)
      - || lsn != start_lsn) {
      + && lsn != start_lsn) {
      break;
      }
      msg("Retrying read of log at LSN=" LSN_PF "\n", lsn);
      my_sleep(1000);
      }
       
      + if (recv_sys->found_corrupt_log) {
      + msg("mariabackup: Error: xtrabackup_copy_logfile()"
      + " found corrupted log.\n");
      + exit(EXIT_FAILURE);
      + }
      +
      start_lsn = (lsn == start_lsn)
      ? 0 : xtrabackup_copy_log(start_lsn, lsn, last);
       
      ===
      

      Attachments

        Issue Links

          Activity

            Richard Richard Stracke created issue -
            vlad.lesin Vladislav Lesin made changes -
            Field Original Value New Value
            Assignee Vladislav Lesin [ vlad.lesin ]
            Richard Richard Stracke made changes -
            elenst Elena Stepanova made changes -
            Fix Version/s 10.3 [ 22126 ]
            marko Marko Mäkelä made changes -
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.4 [ 22408 ]
            Affects Version/s 10.2 [ 14601 ]
            Affects Version/s 10.4 [ 22408 ]
            vlad.lesin Vladislav Lesin made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2019-02-19 09:21:12.0 2019-02-19 09:21:12.051
            marko Marko Mäkelä made changes -
            Fix Version/s 10.4.3 [ 23230 ]
            Fix Version/s 10.3.13 [ 23215 ]
            Fix Version/s 10.2.23 [ 23307 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Assignee Vladislav Lesin [ vlad.lesin ] Marko Mäkelä [ marko ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            vlad.lesin Vladislav Lesin made changes -
            Assignee Marko Mäkelä [ marko ] Vladislav Lesin [ vlad.lesin ]
            Resolution Fixed [ 1 ]
            Status Closed [ 6 ] Stalled [ 10000 ]
            vlad.lesin Vladislav Lesin made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.3.13 [ 23215 ]
            Fix Version/s 10.4.3 [ 23230 ]
            Fix Version/s 10.2.23 [ 23307 ]
            vlad.lesin Vladislav Lesin made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            Fix Version/s N/A [ 14700 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Resolution Duplicate [ 3 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            Resolution Duplicate [ 3 ]
            Status Closed [ 6 ] Stalled [ 10000 ]
            marko Marko Mäkelä made changes -
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s N/A [ 14700 ]
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            Fix Version/s N/A [ 14700 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Resolution Won't Fix [ 2 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            vlad.lesin Vladislav Lesin made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            Labels ServiceNow
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            Labels ServiceNow 76qDvLB8Gju6Hs7nk3VY3EX42G795W5z
            serg Sergei Golubchik made changes -
            Labels 76qDvLB8Gju6Hs7nk3VY3EX42G795W5z
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 92652 ] MariaDB v4 [ 155722 ]
            mariadb-jira-automation Jira Automation (IT) made changes -
            Zendesk Related Tickets 201658 166343 129649 156546 192292 198477
            Zendesk active tickets 201658

            People

              vlad.lesin Vladislav Lesin
              Richard Richard Stracke
              Votes:
              2 Vote for this issue
              Watchers:
              10 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.