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

Ben Nemec openstack at nemebean.com
Thu Jan 23 17:29:58 UTC 2014


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.

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.

Any thoughts on this would be welcomed.  Thanks.

-Ben



More information about the OpenStack-dev mailing list