April 16, 2014

MySQL 5.1 went to GA. Was it a good move ?

MySQL 5.1 release as “GA” seems to be the most controversial to date. It had very negative response from Monty, original MySQL Founder and controversial responses in community including another beating by Kevin Burton.

There is also very interesting reading on MySQL 5.1 open bugs

So how do I take it and where do I think MySQL 5.1 Quality Stands ?

I’ve been MySQL user for years since version 3.22 and when MySQL 3.23 came out we were using it in production since 3.23.3 or so, when it was in the Alpha stage still. A lot of bugs were fixed after we started using it… we just made sure the bugs which are important for us are fixed. Later while working for MySQL I’ve seen big and famous companies shipping MySQL 4.1 beta build into their hardware solutions. This is to tell stability and amount of bugs is not about number but about the things which affect you.

So when people are writing hey, MySQL 5.1 works for them I do not think this has anything to do with MySQL 5.1 stability. I know people who are happy with MySQL 6.0 and Falcon stability for months now – it works for their workload.

So what is Quality Guidelines for Release (GA) when ? The current policies are here but a history of how they evolved over time is much more interesting and allows to much better understand why Monty is upset with release.

MySQL Release Quality Guildines devaluated during last years probably worse than dollar in the last century. In early days it was “no known bugs in release” when it changed to “no known bugs in production release” when it changed to “no crashing bugs in production release” and now it changed to be to “believed to be reliable, free of serious bugs”. I believe this is already below the standards of what qualities “GA” release should have.

But guess what? MySQL 5.1 did not really meet even these guidelines when it was released as GA. Check bugs Monty mentions and even official MySQL 5.1 bug list. These are number of bugs which I would consider serious which are not fixed in 5.1.30. But who cares about me ? “serious” is not well defined term and you can pick whatever you like to call serious.

On the bright side MySQL 5.1 “GA” quality was much better than MySQL 5.0 quality when it was released.

Though the question remains, was MySQL 5.1 release as GA now a good move ?

MySQL 5.1 spent in RC stage well too long so people already started to use it in production (because they started with 5.1RC during their development) without clear understanding how it is going to be supported from MySQL. It also needed more Community Testing to fix those rare bugs which only become found with very wide use. Finally it was helpful for corporate users who are stuck with 5.0 because of policies of using only “GA” versions of the product.

Here is actually there another challenge comes from – MySQL does not make a difference between which release is recommended (offered by default for download) supported and later GA release.

Decoupling these terms would allow to get users to the Recommended release, which is also supported while have still high and clear GA guidelines which could be met months after release is getting Recommended status.

Though in this case MySQL of course minds its commercial interests more than follows community sentiments – in commercial software market there is usually no such difference. So it is complex to make people to understand and sell. Plus people assume first GA release is crap anyway. I’ve seen a lot of policies like waiting at least 3 minor releases or waiting 6 months after release people use for Commercial databases this gets transfered to MySQL too.

As a Summary I think this was inevitable MySQL 5.1 will be released for commercial/marketing reasons, not because it really meets quality guidelines. At the same time I would like to send my warm congratulations to MySQL 5.1 development team which made this release better quality than MySQL 5.0 initial release.

About Peter Zaitsev

Peter managed the High Performance Group within MySQL until 2006, when he founded Percona. Peter has a Master's Degree in Computer Science and is an expert in database kernels, computer hardware, and application scaling.

Comments

  1. Mark Callaghan says:

    I have one silly complaint. 5.1 has many more tests than 5.0, but my server hasn’t gotten any faster. It takes me much longer to run mysql-test-run in 5.1. Can someone optimize that? Otherwise, it is nice to see there are many more tests.

    Based on the list of 5.1 bugs it looks like 5.1 is in good shape. There are many issues for RBR and partitioning, but those are new features. I am trying to get my local 5.1 builds upgraded to 5.1.30 and InnoDB 1.0.2 plugin and PBXT 1.0.06 plugin so I can begin running this for long-term tests.

  2. Jestep says:

    Normally I don’t think a release should be made with so many known bugs, but this was in RC for far too long. It almost needed to hit production just to speed things up. Sun’s stock crashing really concerns me to their future, especially if they ever got bought out by a company that doesn’t want to deal with open source OS’s and programs. The ridiculous process of getting 5.1 into general release makes me question how committed Sun is to the open source side of their business, and the fact that they released a buggy version doesn’t help either.

    Anyway, I would really like to see performance comparisons to Percona or Google patched 5.0 builds. We’ve been waiting for 5.1 to come out, primarily for it’s replication, but I don’t actually plan on upgrading for at least 6 months or so.

  3. peter says:

    Mark,

    mysql-test should be made to run several mysql instances and do testing in parallel – you probably have much more cores at your computer now than in MySQL 5.1 times.

    Regarding features – is not stability of the NEW features is exactly something you would like to expect from the new release. Why bother upgrading unless you plan to use new features or get performance improvements ?

  4. peter says:

    Jestep,

    Some benchmarks are here:
    http://www.mysqlperformanceblog.com/2008/12/03/mysql-50-51-and-innodb-plugin-cpu-efficiency/

    We plan to post more for MySQL 5.0 and MySQL 5.1 as time goes along.

Speak Your Mind

*