Bug #28604 | innodb_force_recovery restricts data dump | ||
---|---|---|---|
Submitted: | 22 May 2007 21:47 | Modified: | 4 Feb 2008 19:33 |
Reporter: | Peter Zaitsev (Basic Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
Version: | 5.0.41, 5.1, 4.1 | OS: | Any |
Assigned to: | Inaam Rana | CPU Architecture: | Any |
Tags: | qc, regression |
[22 May 2007 21:47]
Peter Zaitsev
[23 May 2007 8:14]
Sveta Smirnova
Thank you for the report. Verified as described.
[23 May 2007 8:20]
Sveta Smirnova
Bug has been introduced in 5.0.33
[23 May 2007 12:12]
Heikki Tuuri
This looks like a bad bug.
[23 May 2007 12:29]
Heikki Tuuri
MySQL probably has changed the error handling of ::info() calls. ha_innodb.cc in 5.0: /************************************************************************* Returns statistics information of the table to the MySQL interpreter, in various fields of the handle object. */ int ha_innobase::info( /*==============*/ uint flag) /* in: what information MySQL requests */ { row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt; dict_table_t* ib_table; dict_index_t* index; ha_rows rec_per_key; ib_longlong n_rows; ulong j; ulong i; char path[FN_REFLEN]; os_file_stat_t stat_info; DBUG_ENTER("info"); /* If we are forcing recovery at a high level, we will suppress statistics calculation on tables, because that may crash the server if an index is badly corrupted. */ if (srv_force_recovery >= SRV_FORCE_NO_IBUF_MERGE) { DBUG_RETURN(HA_ERR_CRASHED); } ############### A probable fix: return 0 above, instead of HA_ERR_CRASHED. Assigning this to Inaam.
[2 Aug 2007 19:12]
Bugs System
Pushed into 5.1.21-beta
[1 Feb 2008 19:19]
Timothy Smith
Docs team: fixed in 5.0.48.
[4 Feb 2008 19:33]
Paul DuBois
Noted in 5.0.48, 5.1.21 changelogs. Starting the server with an innodb_force_recovery value of 4 did not work.