tar4ibd does not check for doublewrite buffer pages

Bug #810269 reported by Alexey Kopytov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona XtraBackup moved to https://jira.percona.com/projects/PXB
Fix Released
Medium
Alexey Kopytov

Bug Description

The xtrabackup binary has the following code to skip checksum verification for doublewrite buffer pages:

"
#ifndef INNODB_VERSION_SHORT
   if (buf_page_is_corrupted(page + chunk_offset))
#else
   if (buf_page_is_corrupted(page + chunk_offset, zip_size))
#endif
   {
    if (
#ifdef XTRADB_BASED
        trx_sys_sys_space(node->space->id)
#else
        node->space->id == 0
#endif
        && ((offset + (IB_INT64)chunk_offset) >> page_size_shift)
           >= FSP_EXTENT_SIZE
        && ((offset + (IB_INT64)chunk_offset) >> page_size_shift)
           < FSP_EXTENT_SIZE * 3) {
     /* double write buffer may have old data in the end
        or it may contain the other format page like COMPRESSED.
         So, we can pass the check of double write buffer.*/
     ut_a(page_size == UNIV_PAGE_SIZE);
     fprintf(stderr, "[%02u] xtrabackup: "
      "Page %lu seems double write "
      "buffer. passing the check.\n",
      thread_n,
      (ulint)((offset +
        (IB_INT64)chunk_offset) >>
       page_size_shift));
"

However, tar4ibd does not have this check, so in case of checksum mismatch for such pages, tar4ibd would fail whereas xtrabackup would succeed with a warning.

Tags: cr i17342

Related branches

Revision history for this message
Alexey Kopytov (akopytov) wrote :

Is only applicable to 1.6, since tar4ibd is going to be removed in 1.7

Changed in percona-xtrabackup:
status: New → Confirmed
tags: added: cr i17342
Revision history for this message
Alexey Kopytov (akopytov) wrote :

Symptoms are similar to bug #665210, though the root cause is different:

"
The file 'ibdata1' may not be InnoDB datafile or may be corrupted.
tar_append_tree("ibdata1", "ibdata1"): Input/output error
innobackupex-1.5.1: tar returned with exit code 255.
innobackupex-1.5.1: Error: Failed to stream '/database/mysql/ibdata1': No such file or directory at /usr/bin/innobackupex-1.5.1 line 534.
"

Changed in percona-xtrabackup:
milestone: none → 1.6.3
assignee: nobody → Alexey Kopytov (akopytov)
importance: Undecided → Medium
status: Confirmed → In Progress
Changed in percona-xtrabackup:
status: In Progress → Fix Released
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXB-576

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.