Recovery Reporter fails when default storage engine is InnoDB and --engine is not InnoDB

Bug #773237 reported by John H. Embretsen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Random Query Generator
Fix Released
Undecided
John H. Embretsen

Bug Description

The Recovery Reporter is incompatible with MySQL Server 5.5 and newer, where the default storage engine is InnoDB instead of MyISAM, in cases where --engine (the RQG option) is not set to be InnoDB.

Recovery fails with STATUS_DATABASE_CORRUPTION because the server could not start on recovery, due to the following fatal error:

    [ERROR] Unknown/unsupported storage engine: InnoDB

The reason is that if --engine=MyISAM (or something else that is not InnoDB) the Recovery Reporter adds "--loose-skip-innodb" to the server's command line options on recovery startup.

Possible solutions:
  1) Remove --loose-skip-innodb from startup options in the Recovery Reporter.
  2) Remove --loose-skip-innodb from startup options in the Recovery Reporter if MySQL version is 5.5 or greater.
  3) Add --default-storage-engine=$engine whenever --engine is not set to InnoDB.

description: updated
Changed in randgen:
assignee: nobody → John H. Embretsen (johnemb)
Revision history for this message
Philip Stoev (pstoev-askmonty) wrote : Re: [Randgen] [Bug 773237] [NEW] Recovery Reporter fails when defaultstorage engine is InnoDB and --engine is not InnoDB
Download full text (4.7 KiB)

Hello, sorry for the late reply. I think it is best to go for option

1) Remove --loose-skip-innodb from startup options in the Recovery Reporter.

--loose-skip-innodb was meant as a performance optimization to speed up
tests when you are running hundreds of recovery attempts. However, I think
it is OK to sacrifice this optimization as compared to trying to guess which
product and product version is running and what its defaults or capabilities
are.

John, would you like to push this change yourself?

Philip Stoev

----- Original Message -----
From: "John H. Embretsen" <email address hidden>
To: <email address hidden>
Sent: Friday, April 29, 2011 4:14 PM
Subject: [Randgen] [Bug 773237] [NEW] Recovery Reporter fails when
defaultstorage engine is InnoDB and --engine is not InnoDB

> Public bug reported:
>
> The Recovery Reporter is incompatible with MySQL Server 5.5 and newer,
> where the default storage engine is InnoDB instead of MyISAM, in cases
> where --engine (the RQG option) is not set to be InnoDB.
>
> Recovery fails with STATUS_DATABASE_CORRUPTION because the server could
> not start on recovery, due to the following fatal error:
>
> [ERROR] Unknown/unsupported storage engine: InnoDB
>
> The reason is that if --engine=MyISAM (or something else that is not
> InnoDB) the Recovery Reporter adds "--loose-skip-innodb" to the server's
> command line options on recovery startup.
>
> Possible solutions:
> 1) Remove --loose-skip-innodb from startup options in the Recovery
> Reporter.
> 2) Remove --loose-skip-innodb from startup options in the Recovery
> Reporter if MySQL version is 5.5 or greater.
> 3) Add --default-storage-engine=$engine whenever --engine is not set to
> InnoDB.
>
> ** Affects: randgen
> Importance: Undecided
> Assignee: John H. Embretsen (johnemb)
> Status: New
>
> ** Description changed:
>
> The Recovery Reporter is incompatible with MySQL Server 5.5 and newer,
> where the default storage engine is InnoDB instead of MyISAM, in cases
> where --engine (the RQG option) is not set to be InnoDB.
>
> Recovery fails with STATUS_DATABASE_CORRUPTION because the server could
> not start on recovery, due to the following fatal error:
>
> - [ERROR] Unknown/unsupported storage engine: InnoDB
> + [ERROR] Unknown/unsupported storage engine: InnoDB
>
> The reason is that if --engine=MyISAM (or something else that is not
> InnoDB) the Recovery Reporter adds "--loose-skip-innodb" to the server's
> command line options on recovery startup.
>
> Possible solutions:
> - 1) Remove --lose-skip-innodb from startup options in the Recovery
> Reporter.
> - 2) Remove --loose-skip-innodb from startup options in the Recovery
> Reporter if MySQL version is 5.5 or greater.
> - 3) Add --default-storage-engine=$engine whenever --engine is not set
> to InnoDB.
> + 1) Remove --loose-skip-innodb from startup options in the Recovery
> Reporter.
> + 2) Remove --loose-skip-innodb from startup options in the Recovery
> Reporter if MySQL version is 5.5 or greater.
> + 3) Add --default-storage-engine=$engine whenever --engine is not set to
> InnoDB.
>
> ** Changed in: randgen
> Assignee: (unassigned) ...

Read more...

Revision history for this message
Anitha Gopi (anitha-gopi) wrote : Auto Reply: Re: [Randgen] [Bug 773237] [NEW] Recovery Reporter fails when defaultstorage engine is InnoDB and --engine is not InnoDB

This is an auto-replied message. I am on vacation from May 2nd to May 6th. I will reply to your e mail after I return

Revision history for this message
Anitha Gopi (anitha-gopi) wrote : Auto Reply: Auto Reply: Re: [Randgen] [Bug 773237] [NEW] Recovery Reporter fails when defaultstorage engine is InnoDB and --engine is not InnoDB

This is an auto-replied message. I am on vacation from May 2nd to May 6th. I will reply to your e mail after I return

Revision history for this message
John H. Embretsen (johnemb) wrote :

Philip, thanks for the comment. I am OK with going for option 1) too. I can do the change myself.

Revision history for this message
John H. Embretsen (johnemb) wrote :

Should be fixed in lp:randgen revid <email address hidden>:

revno: 742
committer: John H. Embretsen <email address hidden>
branch nick: randgen-testrun
timestamp: Fri 2011-05-13 16:36:26 +0200
message:
  Fix for Bug#773237 (on Launchpad): Recovery Reporter fails when default storage engine is InnoDB and --engine is not InnoDB
  The fix implements solution option 1), i.e. it removes --loose-skip-innodb from startup options in the Recovery Reporter.
  The downside is that recovery time may increase, the upside is that the Recovery reporter works also when InnoDB is the default storage engine.

Changed in randgen:
status: New → Fix Committed
Changed in randgen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.