[Review Queue] mysql

Ryan Beisner ryan.beisner at canonical.com
Wed Jan 13 15:57:46 UTC 2016


Good day,

I tested, reviewed and discussed the following *mysql* charm proposal [1]
with peers.  The Ubuntu OpenStack Engineering team supports this change as
an improved behavior.  The impact of the default change has been assessed
as very low, both for existing deployments and for new deployments.

As with any proposed default behavior change, careful consideration and
testing are in order.  Our main concern was with the charm upgrade story
for existing users, which we believe to be sane [6].

*Summary of proposed changes:*
Enable innodb_file_per_table in my.cnf to cause table space data to be
stored in separate files, instead of storing table data in one system table
space file that will perpetually grow.  This is in alignment with upstream
recommended default behavior.

*Review:*
* All mysql versions available in all currently-supported Ubuntu releases
support this feature.
 - MySQL 5.6.6 and later enables this by default (Wily, Xenial and on).
 - MySQL 5.5 supports this, but does not enable it by default (Precise and
Trusty).

* Enabling the innodb_file_per_table option on an existing deployment
leaves the existing databases and tables operational under the old
behavior, while new table space info is stored in individual files on disk
per the new behavior.  This is the story for users upgrading to a revision
of the MySQL charm which contains this change.  [2] [3] [4]

* This helps alleviate a 12-year-old bug [5]:  *idbdata1 never shrinks,
even after data is removed*.

* While a case could be made for exposing a new charm config option to
toggle innodb_file_per_table, we are not aware of any issues, bugs or other
proposals representing the need or desire to toggle this option.  Hence the
march forward to just-do-it.

* This change does not aim to provide end-to-end hands-free migration from
system-table space to file-per-table space, nor is that technically
necessary, as shown in testing.  That could certainly be addressed via a
new Juju action, as could a plethora of other mysql server admin tasks.  :-)


[1]
https://code.launchpad.net/~barryprice/charms/trusty/mysql/add-innodb_file_per_table/+merge/281398
[2] https://dev.mysql.com/doc/refman/5.5/en/innodb-multiple-tablespaces.html
[3] https://dev.mysql.com/doc/refman/5.6/en/innodb-multiple-tablespaces.html
[4]
https://docs.oracle.com/cd/E17952_01/refman-5.5-en/tablespace-enabling.html
[5] http://bugs.mysql.com/bug.php?id=1341
[6] http://pastebin.ubuntu.com/14487765/

Cheers,


-- 
Ryan Beisner
QA Engineer, Ubuntu OpenStack Engineering, Canonical, Ltd.
irc:beisner  lp:~1chb1n
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20160113/d1382280/attachment.html>


More information about the Juju mailing list