Bug #50336 mysqld: unknown option '--skip-bdb'
Submitted: 14 Jan 2010 15:43 Modified: 1 Feb 2010 10:55
Reporter: Olaf van der Spek (Basic Quality Contributor) Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Installing Severity:S2 (Serious)
Version:5.1 OS:Any
Assigned to: CPU Architecture:Any
Tags: qc

[14 Jan 2010 15:43] Olaf van der Spek
Description:
Some Linux distributions (like Debian) contain skip-bdb in the default my.cnf.
In 5.1, this option was removed. This causes trouble on upgrades.
Would it be possible to re-add this option as deprecated and ignored?
I think users of other distributions (maybe even Windows) will be grateful too.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=545751

How to repeat:
Install a Linux distribution containing MySQL 5.0
Add skip-bdb if it's not there already, otherwise modify the conf file in some other way to prevent it from getting automatically replaced.
Upgrade the Linux distribution to one containing MySQL 5.1.

Suggested fix:
Re-add --skip-bdb as deprecated and ignored?
[15 Jan 2010 11:01] Sveta Smirnova
Thank you for the report.

Verified as described.
[15 Jan 2010 11:11] Olaf van der Spek
Thanks. Would it be possible to get this done ASAP? Otherwise the fix wouldn't be available before the next stable Debian version ships.
[15 Jan 2010 11:32] Davi Arnaut
--skip-bdb was a storage engine specific variable. Since the variable is gone, either are the variables. On top, adding a stub variable would cause a conflict if a bdb storage engine is added. It's a major version upgrade anyway, the configuration file needs to be revised in any case. This is not a bug.
[15 Jan 2010 11:44] Olaf van der Spek
> On top, adding a stub variable would cause a conflict if a bdb storage
engine is added.

True, but I'm sure you can solve that in another way.

> It's a major version upgrade anyway, the configuration file needs to be revised in any case.

I think this is the first time a default conf file doesn't work with the next version.
[15 Jan 2010 13:05] Davi Arnaut
> True, but I'm sure you can solve that in another way.

The simplest solution is the user reviewing his or hers configuration file.

> I think this is the first time a default conf file doesn't work with the next version.

Depends on which default conf file you are using. From what I can tell, --skip-bdb is only preset by default on my-innodb-heavy-4G.cnf. Those config files are just templates, having a variable there does not mean we will keep it forever. There is really no reason to keep removed variable over major versions.
[15 Jan 2010 13:08] Olaf van der Spek
> The simplest solution is the user reviewing his or hers configuration file.

From the point of view of the developer, yes. From the point of view of the user: no...

> Depends on which default conf file you are using. 

The one Debian 5.0 ships.

> There is really no reason to keep removed variable over major versions.

Maybe it's more of a Debian specific issue. 
Having seemless upgrades is definitely a better user experience.
[15 Jan 2010 13:15] Davi Arnaut
> Having seemless upgrades is definitely a better user experience.

But not for developers that have to maintain useless variables forever :-) Anyway, it's not just a matter of using a default config file, it will need attention if any variables inside the user's config file gets removed.

Perhaps the solution is to have some step during upgrade that validates the config file.
[15 Jan 2010 13:20] Olaf van der Spek
> But not for developers that have to maintain useless variables forever :-) 

That's not what I'm requesting.
Although an ignore list wouldn't be so hard.

> Anyway, it's not just a matter of using a default config file, it will need attention if any variables inside the user's config file gets removed.

Well, it depends on how often the var is used.
Normally, vars are first deprecated and then removed, say in the next major version.

> Perhaps the solution is to have some step during upgrade that validates the config file.

Maybe
[25 Jan 2010 23:44] Omer Barnir
This option was deprecated in 5.0 and it is expected that config file options will be adjusted by the users when they are deprecated.
[26 Jan 2010 6:45] Olaf van der Spek
I've never seen a message about it being deprecated. In what log can this message be found?
[1 Feb 2010 10:44] Davi Arnaut
Olaf,

I this case I don't think there was a specific deprecation messages as the whole storage engine (which include its options) was deprecated and removed. In 5.1, we reviewed all deprecated options and if they are used, the server issues a message to the standard output and/or the error log.
[1 Feb 2010 10:55] Olaf van der Spek
Since skip is an anti/negative option, I think it deserves special attention.
If instead it had been --enable-bdb, you'd be right, that shouldn't be ignored.
But --skip-bdb is something else.