| Bug #41490 | After enlargement of InnoDB page size, the error message become inaccurate. | ||
|---|---|---|---|
| Submitted: | 16 Dec 2008 8:39 | Modified: | 13 Nov 3:26 |
| Reporter: | Meiji KIMURA | ||
| Status: | Closed | ||
| Category: | Server: InnoDB | Severity: | S3 (Non-critical) |
| Version: | 5.0.x | OS: | Any |
| Assigned to: | Satya B | Target Version: | |
| Triage: | Triaged: D4 (Minor) | ||
[16 Dec 2008 8:39]
Meiji KIMURA
[18 Dec 2008 8:45]
Marko Mäkelä
The 10-megabyte minimum tablespace size is a somewhat arbitrary limit. I would simply replace the 640 with 10485760/UNIV_PAGE_SIZE. It would be 640 when UNIV_PAGE_SIZE is 16384 bytes. Note that the implementation of ROW_FORMAT=COMPRESSED in the InnoDB plugin assumes that UNIV_PAGE_SIZE is at most 16 kilobytes. In the dense page directory in the compressed page trailer, pointers to records are 14-bit. We may change that later. Several years ago, when I was developing ROW_FORMAT=COMPACT, I also experimented with different page sizes. I remember seeing this assertion failure in page_rec_check() when defining UNIV_PAGE_SIZE to 65536: rec <= page_header_get_ptr(page, PAGE_HEAP_TOP) This would likely be in MySQL 4.1 or 5.0. I didn't investigate this more closely. So, be careful when using a larger UNIV_PAGE_SIZE. If you change UNIV_PAGE_SIZE, you won't be able to exchange any data or log files with plain InnoDB. It would be challenging to make UNIV_PAGE_SIZE a configuration parameter, let alone to make it a table property. A configureable UNIV_PAGE_SIZE could make InnoDB noticeably slower.
[8 Jan 14:17]
Marko Mäkelä
A patch that replaces the 640 with 10485760 / UNIV_PAGE_SIZE was committed to the InnoDB 6.0 repository.
[4 Nov 10:26]
Bugs System
Pushed into 5.1.41 (revid:joro@sun.com-20091104092152-qz96bzlf2o1japwc) (version source revid:kristofer.pettersson@sun.com-20091103162305-08l4gkeuif2ozsoj) (merge vers: 5.1.41) (pib:13)
[11 Nov 7:53]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091110093407-rw5g8dys2baqkt67) (version source revid:alik@sun.com-20091109080109-7dxapd5y5pxlu08w) (merge vers: 6.0.14-alpha) (pib:13)
[11 Nov 8:01]
Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091109115615-nuohp02h8mdrz8m2) (version source revid:svoj@sun.com-20091105122958-jyqjx9xus8v4e0yd) (merge vers: 5.5.0-beta) (pib:13)
[13 Nov 3:26]
Paul DuBois
Noted in 5.1.41, 5.5.0, 6.0.14 changelog. With a nonstandard InnoDB page size, some error messages became inaccurate.
[24 Nov 20:38]
Paul DuBois
Addition to changelog entry:
Changing the page size is not a supported operation and there is no
guarantee that InnoDB will function normally with a page size other
than 16KB. Problems compiling or running InnoDB may occur. In
particular, ROW_FORMAT=COMPRESSED in the InnoDB Plugin assumes that
the page size is at most 16KB and uses 14-bit pointers.
A version of InnoDB built for one page size cannot use data files or
log files from a version built for a different page size.
