tar4ibd does not check for doublewrite buffer pages

Reported by Alexey Kopytov on 2011-07-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona XtraBackup
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.

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
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
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers