[MDEV-12022] InnoDB wrongly ignores the end of an .ibd file Created: 2017-02-08 Updated: 2017-02-08 Resolved: 2017-02-08 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.1.21 |
| Fix Version/s: | 10.1.22 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
The test innodb.innodb-64k-crash is crashing in recovery due to a wrongly reported out-of-bounds page access:
The tablespace file in question has FSP_SIZE=21 which corresponds to the file size 21*16384 pages. The error message above is misleading, because it is not really about accessing page 2, but accessing page space->size+2. The issue is that InnoDB wrongly truncated the space->size to 16. The fix is to remove that bogus truncation:
|
| Comments |
| Comment by Marko Mäkelä [ 2017-02-08 ] | |||||
|
Note: In MySQL 5.7 (which was the first MySQL version to support innodb_page_size=32k or innodb_page_size=64k, in WL#5757) the extent size is 2 MiB for innodb_page_size=32k and 4 MiB for innodb_page_size=64k. See for example dict_table_extent_size() and the macro definition:
That said, I do not see any point in ignoring the end of the file when opening a file. | |||||
| Comment by Jan Lindström (Inactive) [ 2017-02-08 ] | |||||
|
ok to push. |