Bug #49717 New startup option --require-all-engines
Submitted: 15 Dec 2009 16:48 Modified: 17 Dec 2009 10:28
Reporter: Shawn Green Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Options Severity:S4 (Feature request)
Version:5.1+ OS:Any
Assigned to: CPU Architecture:Any

[15 Dec 2009 16:48] Shawn Green
Description:
The current behavior is for MySQL to complete its startup even if it runs into certain problems while initializing storage engines. The server will then mark those engines as DISABLED and attempt to serve data anyway. 

To fail the startup is a much safer option than to start and attempt to serve data with a broken, misconfigured, or disabled storage engine. 

This is a feature request for a new command line and config file option that will require that the startup fail unless all of the configured storage engines (either built-in or plugged-in) are able to start properly.

How to repeat:
Attempt to startup with any storage engine incorrectly configured or with missing parts (see bug 31578 as an example). Notice that the MySQL server completes the startup anyway with the busted engine marked as DISABLED.

Suggested fix:
Implement an option such as "--require-all-engines" that will abort a server startup if there are any failures in an expected or configured storage engine to initialize properly. 

Any other reasonable name for the option is fine by me.
[15 Dec 2009 17:06] Valeriy Kravchuk
Thank you for the feature request.
[17 Dec 2009 10:28] Sergei Golubchik
see bug#19027

If you don't want your server to start without innodb, use --innodb=FORCE command-line option.

Adding --require-all-engines is not practical, it may later quire adding --require-all-fulltext-parsers, --require-all-udfs, --require-all-information-schema-tables, and so on, one option per plugin type.