Bug #69131 InnoDB does not honor innodb_read_only when updating file format tag on startup
Submitted: 3 May 2013 8:26 Modified: 31 May 2013 18:35
Reporter: Alexey Kopytov Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.6 OS:Any
Assigned to: CPU Architecture:Any

[3 May 2013 8:26] Alexey Kopytov
On startup InnoDB calls trx_sys_file_format_tag_init() which initializes the transaction system header in the system tablespace with the minimum supported format, if that field has not been initialized yet. This may be the case when the data files have been created with an old InnoDB version that does not support file format tags.

The problem is that 5.6 does not check the value of innodb_read_only. On debug builds this results in an assertion failure when committing a mini-transaction. On release builds it just updates the system tablespace as if innodb_read_only is not enabled.

How to repeat:
Start MySQL 5.6 with innodb_read_only on data files created with MySQL 5.0 or MySQL 5.1 with built-in InnoDB. A debug build will crash with an assertion failure. A release build will do a data update.
[31 May 2013 18:35] MySQL Verification Team
Hello Alexey,

Thank you for the report.
Verified as described.