~akopytov/percona-xtrabackup/bug870119-2.0

  • Committer: Alexey Kopytov
  • Date: 2013-03-05 13:07:11 UTC
  • Revision ID: akopytov@gmail.com-20130305130711-lmej03v69am381vg
Bug #870119: assertion failure while trying to read InnoDB partition

The problem was that the InnoDB file I/O subsystem may reuse file
descriptors by closing the old ones when the number of open files hits
innodb_open_files. Which works for InnoDB, because if InnoDB needs to
access a table which has been closed, it would just reopen it.However,
that didn't work for XtraBackup, since it only keeps a file descriptor
when copying a file. So when the --parallel option was used, there was a
chance that another thread wanted to open a file and hit
innodb_open_files. Therefore fil_try_to_close_file_in_LRU() might close
the file descriptor which was currently in use by another thread and
then this descriptor is shortly reused when opening another file. Which
would result in obscure failures like this.

However, most part of the problem disappeared with the fix for bug
#713267: XtraBackup no longer relies on the file descriptors created by
the 'fil' subsystem of InnoDB to get tablespace flags, and that was the
reason for exhausting the innodb_open_files pool. So bug #870119 is
essentially a duplicate, or at least became extremely hard to hit in the
wild.

The only thing that should be done to exclude even a theoretical chance
of reusing file descriptors from the 'fil' subsystem is to always create
a new file descriptor to copy the file, instead of checking if a node
has been previously open by the 'fil' subsystem and reusing the
descriptor if so. Which is what this fix implements.
Filename Latest Rev Last Changed Committer Comment Size
..
contrib 241.3.1 13 years ago Daniël van Eeden Add contrib directory with an backup script exampl Diff
doc 213.3.1 13 years ago Aleksandr Kuzminsky Added XtraBackup manual page Diff
patches 228.1.2 13 years ago Alexey Kopytov Port XtraBackup to Percona Server 5.5.9-beta20.1 c Diff
src 385.1.1 12 years ago Alexey Kopytov Rebase of the parallel compression patch on new tr Diff
test 134.1.1 13 years ago Aleksandr Kuzminsky Added the XtraBackup test framework Diff
utils 30.1.2 15 years ago Vadim Tkachenko directory restructure Diff
.bzrignore 449 11 years ago Stewart Smith merge from 1.6: Bug #1021954: XtraBackup on MultiI 196 bytes Diff Download File
BUILD-WIN.txt 244.4.1 13 years ago Alexey Kopytov Added initial support for Windows builds: - remov 2.9 KB Diff Download File
BUILD.txt 477.2.1 11 years ago Hrvoje Matijakovic Bug fixes for bug: Bug #1073502, Bug #1075269 and 2.2 KB Diff Download File
CMakeLists.txt 244.4.1 13 years ago Alexey Kopytov Added initial support for Windows builds: - remov 1.6 KB Diff Download File
COPYING 174.1.1 13 years ago Stewart Smith add COPYING file with GPLv2 license. xtrabackup is 18.6 KB Diff Download File
File innobackupex 501 11 years ago Alexey Kopytov Bug #1114955: xtrabackup_pid remains existed after 104 KB Diff Download File
VERSION 497.1.2 11 years ago Ignacio Nin Bump version to 2.0.5 25 bytes Diff Download File