INFORMATION_SCHEMA.INNODB_CHANGED_PAGES query fails server with an I/O error if a bitmap file in the middle of requested range is missing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
Critical
|
Laurynas Biveinis | ||
5.1 |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.5 |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.6 |
Fix Released
|
Critical
|
Laurynas Biveinis |
Bug Description
If a INNODB_
To reproduce, add the following to the end of innodb_
let $MYSQLD_DATADIR= `select @@datadir`;
# --replace_regex /_[[:digit:
list_files $MYSQLD_DATADIR ib_modified_log*;
remove_
# --replace_regex /_[[:digit:
list_files $MYSQLD_DATADIR ib_modified_log*;
SELECT COUNT(*) FROM INFORMATION_
WHERE START_LSN > 10000;
Discovered while working on XtraBackup, as the bitmap file reader is shared between XtraDB and XtraBackup. The fix will be to take the XtraBackup reader robustness improvements.
Triaging as Medium instead of High, because impossible to reproduce without write access to the server data dir.
Related branches
- Stewart Smith (community): Approve
-
Diff: 1153 lines (+400/-142) (has conflicts)16 files modifiedPercona-Server/mysql-test/suite/innodb_plugin/r/percona_changed_page_bmp.result (+7/-0)
Percona-Server/mysql-test/suite/innodb_plugin/r/percona_changed_pages.result (+58/-33)
Percona-Server/mysql-test/suite/innodb_plugin/r/percona_changed_pages_empty.result (+1/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp.test (+33/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp_flush.test (+2/-2)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_pages.test (+99/-28)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_pages_empty.test (+4/-2)
Percona-Server/storage/innodb_plugin/handler/i_s.cc (+8/-6)
Percona-Server/storage/innodb_plugin/include/log0log.h (+3/-1)
Percona-Server/storage/innodb_plugin/include/log0online.h (+2/-0)
Percona-Server/storage/innodb_plugin/include/os0file.h (+4/-2)
Percona-Server/storage/innodb_plugin/log/log0log.c (+13/-3)
Percona-Server/storage/innodb_plugin/log/log0online.c (+162/-54)
Percona-Server/storage/innodb_plugin/log/log0recv.c (+4/-3)
Percona-Server/storage/innodb_plugin/os/os0file.c (+0/-2)
Percona-Server/storage/innodb_plugin/srv/srv0start.c (+0/-6)
- Stewart Smith (community): Approve
-
Diff: 1312 lines (+537/-143) (has conflicts)19 files modifiedPercona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp.result (+7/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_pages.result (+58/-33)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_pages_empty.result (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp.test (+33/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_flush.test (+2/-2)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_pages.test (+99/-28)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_pages_empty.test (+4/-2)
Percona-Server/mysql-test/suite/sys_vars/r/all_vars.result (+0/-2)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_max_changed_pages_basic.result (+78/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_max_changed_pages_basic.test (+60/-0)
Percona-Server/storage/innobase/handler/i_s.cc (+8/-6)
Percona-Server/storage/innobase/include/log0log.h (+3/-1)
Percona-Server/storage/innobase/include/log0online.h (+2/-0)
Percona-Server/storage/innobase/include/os0file.h (+4/-2)
Percona-Server/storage/innobase/log/log0log.c (+13/-3)
Percona-Server/storage/innobase/log/log0online.c (+161/-53)
Percona-Server/storage/innobase/log/log0recv.c (+4/-3)
Percona-Server/storage/innobase/os/os0file.c (+0/-2)
Percona-Server/storage/innobase/srv/srv0start.c (+0/-6)
- Stewart Smith (community): Approve
-
Diff: 1321 lines (+545/-145)18 files modifiedPercona-Server/mysql-test/suite/innodb/r/percona_changed_page_bmp.result (+8/-1)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_pages.result (+59/-33)
Percona-Server/mysql-test/suite/innodb/r/percona_changed_pages_empty.result (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp.test (+34/-4)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_page_bmp_flush.test (+2/-2)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_pages.test (+100/-28)
Percona-Server/mysql-test/suite/innodb/t/percona_changed_pages_empty.test (+4/-2)
Percona-Server/mysql-test/suite/sys_vars/r/all_vars.result (+0/-2)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_max_changed_pages_basic.result (+78/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_max_changed_pages_basic.test (+60/-0)
Percona-Server/storage/innobase/handler/i_s.cc (+8/-6)
Percona-Server/storage/innobase/include/log0log.h (+3/-1)
Percona-Server/storage/innobase/include/log0online.h (+2/-0)
Percona-Server/storage/innobase/include/os0file.h (+4/-2)
Percona-Server/storage/innobase/log/log0log.cc (+13/-3)
Percona-Server/storage/innobase/log/log0online.cc (+165/-56)
Percona-Server/storage/innobase/log/log0recv.cc (+4/-3)
Percona-Server/storage/innobase/os/os0file.cc (+0/-2)
tags: | added: bitmap xtradb |
See bug 1184468