[openstack-dev] [oslo][db] Mysql traditional session mode

Florian Haas florian at hastexo.com
Thu Jan 23 18:10:52 UTC 2014


thanks for taking this to the list. Apologies for my brevity and for HTML,
I'm on a moving train and Android Gmail is kinda stupid. :)

On Jan 23, 2014 6:46 PM, "Ben Nemec" <openstack at nemebean.com> wrote:
> A while back a change (https://review.openstack.org/#/c/47820/) was made
to allow enabling mysql traditional mode, which tightens up mysql's input
checking to disallow things like silent truncation of strings that exceed
the column's allowed length and invalid dates (as I understand it).
> IMHO, some compelling arguments were made that we should always be using
traditional mode and as such we started logging a warning if it was not
enabled.  It has recently come to my attention (
https://review.openstack.org/#/c/68474/) that not everyone agrees, so I
wanted to bring it to the list to get as wide an audience for the
discussion as possible and hopefully come to a consensus so we don't end up
having this discussion every few months.

For the record, I obviously am all in favor of avoiding data corruption,
although it seems not everyone agrees that TRADITIONAL is necessarily the
preferable mode. But that aside, if Oslo decides that any particular mode
is required, it should just go ahead and set it, rather than log a warning
that the user can't possibly fix.

> I remain of the opinion that traditional mode is a good thing and we
_should_ be enabling it.  I would call silent truncation and bogus date
values bugs that should be fixed, but maybe there are other implications of
this mode that I'm not aware of.
> It was also pointed out that the warning is logged even if the user
forces traditional mode through my.cnf.  While this certainly solves the
underlying problem, it doesn't change the fact that the application was
trying to do something bad.  We tried to make it clear in the log message
that this is a developer problem and the user needs to pester the developer
to enable the mode, but maybe there's more discussion that needs to go on
there as well.

Hence my proposal to make this a config option and actually set the mode on
connect. To make the patch as un-invasive as possible, the default for that
option is currently empty, but if it seems prudent to set TRADITIONAL or
STRICT_ALL_TABLES instead, I'll be happy to fix the patch up accordingly.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140123/4b66c589/attachment.html>

More information about the OpenStack-dev mailing list