<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: 7 Reasons why MySQL Quality will never be the same</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/</link>
	<description>Everything about MySQL Performance</description>
	<lastBuildDate>Sat, 21 Nov 2009 05:23:57 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: AlexN</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-409624</link>
		<dc:creator>AlexN</dc:creator>
		<pubDate>Fri, 12 Dec 2008 15:05:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-409624</guid>
		<description>Probably it&#039;s a good time for a project fork. Leave only MyISAM engine, throw away every feature
that is not used, concentrate on quality, easy updates and issue tracking. It&#039;s open source, isn&#039;t it ?
Who wants to take the task ?</description>
		<content:encoded><![CDATA[<p>Probably it&#8217;s a good time for a project fork. Leave only MyISAM engine, throw away every feature<br />
that is not used, concentrate on quality, easy updates and issue tracking. It&#8217;s open source, isn&#8217;t it ?<br />
Who wants to take the task ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-409215</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Fri, 12 Dec 2008 08:12:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-409215</guid>
		<description>Kevin, Mark

One more note about Quality I&#039;m speaking about here.   I think the Quality of release should be mentioned by &quot;weakest link&quot; - if Partitions or Row Level Replication is unstable in MySQL 5.1 GA it is unstable. 

At the same time this unstable release may work for your application or actually a lot of applications which simply do not touch this unstable features. 

This brings us to another factor - whenever you should use given release for your application in production depends on whenever it works well or it does not.   I see GA status not as seal of quality but rather as a promise there are no serious changes going to be done any more so  probability of things getting broken is lower compared to early down the road.

For example my application may well work with given Alpha release but not with next one :)</description>
		<content:encoded><![CDATA[<p>Kevin, Mark</p>
<p>One more note about Quality I&#8217;m speaking about here.   I think the Quality of release should be mentioned by &#8220;weakest link&#8221; &#8211; if Partitions or Row Level Replication is unstable in MySQL 5.1 GA it is unstable. </p>
<p>At the same time this unstable release may work for your application or actually a lot of applications which simply do not touch this unstable features. </p>
<p>This brings us to another factor &#8211; whenever you should use given release for your application in production depends on whenever it works well or it does not.   I see GA status not as seal of quality but rather as a promise there are no serious changes going to be done any more so  probability of things getting broken is lower compared to early down the road.</p>
<p>For example my application may well work with given Alpha release but not with next one <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-409203</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Fri, 12 Dec 2008 08:03:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-409203</guid>
		<description>Ken,

The fact you   do the split developers=employees and users are everybody else means you seems to be thinking about standard close source model.  There is indeed fractions of percent of people who can make sense of the technical data in bugs database but with millions of users it gives thousands of people already.   I know there are such people in Google, Facebook, Percona, OpenQuery. 

But more than that a lot of bug actually have some meaning (or potential meaning) which is clear to the users something like &quot;Innodb could fail to recover with certain log file sizes&quot; - The details it only happen for prime innodb log file numbers because of unexpected hash collision may not be needed for users.

Other things - you&#039;re speaking about various tests you&#039;ve recently developed - I assume these are kept internal and not released as open source ?</description>
		<content:encoded><![CDATA[<p>Ken,</p>
<p>The fact you   do the split developers=employees and users are everybody else means you seems to be thinking about standard close source model.  There is indeed fractions of percent of people who can make sense of the technical data in bugs database but with millions of users it gives thousands of people already.   I know there are such people in Google, Facebook, Percona, OpenQuery. </p>
<p>But more than that a lot of bug actually have some meaning (or potential meaning) which is clear to the users something like &#8220;Innodb could fail to recover with certain log file sizes&#8221; &#8211; The details it only happen for prime innodb log file numbers because of unexpected hash collision may not be needed for users.</p>
<p>Other things &#8211; you&#8217;re speaking about various tests you&#8217;ve recently developed &#8211; I assume these are kept internal and not released as open source ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-409195</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Fri, 12 Dec 2008 07:57:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-409195</guid>
		<description>Mark,

Crashing is only one case of the bug. It is the most critical but there also a lot of things from wrong results bad plans and annoyances.

I also do not thing single application, or even single company is enough. If your application uses pretty static set of features sooner or later you have them worked out or worked around and version will run stable for you. 

There are also some tricky bugs like race conditions or memory corruptions which can happen in very special conditions which rarely happen during operation - in this case running thousands of boxes makes a difference.

It is also a good question how many of MySQL 5.0 features do you use.  I have a feeling you&#039;re mainly using MySQL 4.0 set of features ?</description>
		<content:encoded><![CDATA[<p>Mark,</p>
<p>Crashing is only one case of the bug. It is the most critical but there also a lot of things from wrong results bad plans and annoyances.</p>
<p>I also do not thing single application, or even single company is enough. If your application uses pretty static set of features sooner or later you have them worked out or worked around and version will run stable for you. </p>
<p>There are also some tricky bugs like race conditions or memory corruptions which can happen in very special conditions which rarely happen during operation &#8211; in this case running thousands of boxes makes a difference.</p>
<p>It is also a good question how many of MySQL 5.0 features do you use.  I have a feeling you&#8217;re mainly using MySQL 4.0 set of features ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: http://trainedmonkey.com/</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-408798</link>
		<dc:creator>http://trainedmonkey.com/</dc:creator>
		<pubDate>Thu, 11 Dec 2008 23:26:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-408798</guid>
		<description>very nicely said, peter. it grates on me when people don&#039;t acknowledge that a lot of this is about perception, and having a public bugs database is a tremendously mixed blessing as far as that goes.</description>
		<content:encoded><![CDATA[<p>very nicely said, peter. it grates on me when people don&#8217;t acknowledge that a lot of this is about perception, and having a public bugs database is a tremendously mixed blessing as far as that goes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sumpygump</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-408723</link>
		<dc:creator>Sumpygump</dc:creator>
		<pubDate>Thu, 11 Dec 2008 22:22:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-408723</guid>
		<description>&quot;This is actually has the good time too.&quot; ... huh?</description>
		<content:encoded><![CDATA[<p>&#8220;This is actually has the good time too.&#8221; &#8230; huh?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Burton</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-408691</link>
		<dc:creator>Kevin Burton</dc:creator>
		<pubDate>Thu, 11 Dec 2008 21:40:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-408691</guid>
		<description>&quot;Are you judging quality based on anecdotes and bug counts? Will MySQL adapt to this by being less open about bugs? Note that InnoDB doesn&#039;t open their bug database to the community. &quot;

Hey Mark.

I think this does bring up a good point.  I think Peter brought it up before.

MySQL really needs to be commended for their open bug database and open source repository.  Even if it&#039;s read only.  I think we often forget how open they really are even if we want to see improvement.

I&#039;d really like to see Oracle/InnoDB do the same thing.  At least with MySQL 5.1 I can look at the bugs to judge the quality of the release before I upgrade.

With InnoDB 5.1 I don&#039;t really have this luxury.

Peter.

I agree that 4.1 wasn&#039;t perfect but for my needs it was nearly perfect.  I didn&#039;t use subqueries or charsets (we use UTF-8 encoding via the JDBC driver).

Ken,

&quot;While community and user testing of released software is helpful, it is never a replacement for good design and implementation and robust testing methodology.&quot;

While true, the reverse is also true.

While a robust testing methodology is helpful, it is never a replacement for an open and vibrant open source community and a distributed array of inexpensive unit testers (customers) with access to an open bug database and source repository.

I think we&#039;re a good example.  Very little of the work done by MySQL and Oracle/InnoDB over the last few years has been applicable to my company.  The work from Google, Percona, and OurDelta has been a breath of fresh air.  

&quot;Although the InnoDB Plugin was released in &#039;early adopter&#039; status last April, only two InnoDB Plugin bugs were reported by users in the MySQL bug database.&quot;

This ends up becoming at catch-22... You have to work towards developing an open environmnent for reporting bugs and interacting with teh community.

If you don&#039;t receive extensive bug reports at first don&#039;t give up... The MySQL database in and of itself is good evidence that people are willing to report bugs.

&quot;Just a note on our internally-detected and fixed bugs and the idea of publishing them. Most of our internally-detected bugs involve complex testing scripts and workloads, and logs containing debugging information. This sort of information is helpful for developers, but is not meaningful to users.&quot;

... so then publishing this information can&#039;t hurt anything. :)

We share all the internal statistics about Spinn3r with our customer base. Every statistic you can think of is exported, graphed, and recorded.  Believe me it&#039;s appreciated :)</description>
		<content:encoded><![CDATA[<p>&#8220;Are you judging quality based on anecdotes and bug counts? Will MySQL adapt to this by being less open about bugs? Note that InnoDB doesn&#8217;t open their bug database to the community. &#8221;</p>
<p>Hey Mark.</p>
<p>I think this does bring up a good point.  I think Peter brought it up before.</p>
<p>MySQL really needs to be commended for their open bug database and open source repository.  Even if it&#8217;s read only.  I think we often forget how open they really are even if we want to see improvement.</p>
<p>I&#8217;d really like to see Oracle/InnoDB do the same thing.  At least with MySQL 5.1 I can look at the bugs to judge the quality of the release before I upgrade.</p>
<p>With InnoDB 5.1 I don&#8217;t really have this luxury.</p>
<p>Peter.</p>
<p>I agree that 4.1 wasn&#8217;t perfect but for my needs it was nearly perfect.  I didn&#8217;t use subqueries or charsets (we use UTF-8 encoding via the JDBC driver).</p>
<p>Ken,</p>
<p>&#8220;While community and user testing of released software is helpful, it is never a replacement for good design and implementation and robust testing methodology.&#8221;</p>
<p>While true, the reverse is also true.</p>
<p>While a robust testing methodology is helpful, it is never a replacement for an open and vibrant open source community and a distributed array of inexpensive unit testers (customers) with access to an open bug database and source repository.</p>
<p>I think we&#8217;re a good example.  Very little of the work done by MySQL and Oracle/InnoDB over the last few years has been applicable to my company.  The work from Google, Percona, and OurDelta has been a breath of fresh air.  </p>
<p>&#8220;Although the InnoDB Plugin was released in &#8216;early adopter&#8217; status last April, only two InnoDB Plugin bugs were reported by users in the MySQL bug database.&#8221;</p>
<p>This ends up becoming at catch-22&#8230; You have to work towards developing an open environmnent for reporting bugs and interacting with teh community.</p>
<p>If you don&#8217;t receive extensive bug reports at first don&#8217;t give up&#8230; The MySQL database in and of itself is good evidence that people are willing to report bugs.</p>
<p>&#8220;Just a note on our internally-detected and fixed bugs and the idea of publishing them. Most of our internally-detected bugs involve complex testing scripts and workloads, and logs containing debugging information. This sort of information is helpful for developers, but is not meaningful to users.&#8221;</p>
<p>&#8230; so then publishing this information can&#8217;t hurt anything. <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>We share all the internal statistics about Spinn3r with our customer base. Every statistic you can think of is exported, graphed, and recorded.  Believe me it&#8217;s appreciated <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken Jacobs</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-408676</link>
		<dc:creator>Ken Jacobs</dc:creator>
		<pubDate>Thu, 11 Dec 2008 20:55:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-408676</guid>
		<description>Thanks to Peter and Mark for the compliments about the quality of InnoDB.  Heikki certainly did do a remarkable job in designing and developing InnoDB, and its high quality has been preserved as we have added new developers to the team and as we have added new features to the product (as Peter notes).

In the past year, we have significantly improved our quality assurance (QA) process, resulting in more thorough and systematic testing, including specifically a focus on recovery testing.  Many of the problems we have identified ... and fixed ... in the InnoDB Plugin probably never would have been found and reported by users.   Thankfully, most of the time, users don&#039;t run recovery operations, but when they do, they must work.  Many recovery-related bugs are not easily reproducible and it is difficult to capture the information required to do so.  The kind of stress tests needed to identify timing problems (like race conditions) are not typical of early-adopter workloads.  The performance testing we did before the initial release of the InnoDB Plugin lead to the implementation the adaptive LRU mechanism that adjusts the behavior of the system based on whether the workload is cpu or i/o bound.

While community and user testing of released software is helpful, it is never a replacement for good design and implementation and robust testing methodology.  Often, early adopter users don&#039;t report bugs (because they may think the problem has been reported by other users or has already been fixed in the next release).  Although the InnoDB Plugin was released in &quot;early adopter&quot; status last April, only two InnoDB Plugin bugs were reported by users in the MySQL bug database.  A small number of other bugs were reported by users on the &lt;a href=&quot;http://forums.innodb.com&quot; rel=&quot;nofollow&quot;&gt;InnoDB forums&lt;/a&gt;.  Most of the bugs were found through extensive internal testing.  And, on the other hand, some of the earliest tests of the InnoDB plugin were extremely positive both in terms of performance and reliability.

Just a note on our internally-detected and fixed bugs and the idea of publishing them.  Most of our internally-detected bugs involve complex testing scripts and workloads, and logs containing debugging information.  This sort of information is helpful for developers, but is not meaningful to users.

We continue to work closely with the Sun/MySQL engineers to maintain the reliability of InnoDB as distributed by MySQL as well as in the InnoDB Plugin.  We hope that together we can ensure that available fixes (some 22 of them at the moment) are incorporated more quickly into the standard MySQL distribution.</description>
		<content:encoded><![CDATA[<p>Thanks to Peter and Mark for the compliments about the quality of InnoDB.  Heikki certainly did do a remarkable job in designing and developing InnoDB, and its high quality has been preserved as we have added new developers to the team and as we have added new features to the product (as Peter notes).</p>
<p>In the past year, we have significantly improved our quality assurance (QA) process, resulting in more thorough and systematic testing, including specifically a focus on recovery testing.  Many of the problems we have identified &#8230; and fixed &#8230; in the InnoDB Plugin probably never would have been found and reported by users.   Thankfully, most of the time, users don&#8217;t run recovery operations, but when they do, they must work.  Many recovery-related bugs are not easily reproducible and it is difficult to capture the information required to do so.  The kind of stress tests needed to identify timing problems (like race conditions) are not typical of early-adopter workloads.  The performance testing we did before the initial release of the InnoDB Plugin lead to the implementation the adaptive LRU mechanism that adjusts the behavior of the system based on whether the workload is cpu or i/o bound.</p>
<p>While community and user testing of released software is helpful, it is never a replacement for good design and implementation and robust testing methodology.  Often, early adopter users don&#8217;t report bugs (because they may think the problem has been reported by other users or has already been fixed in the next release).  Although the InnoDB Plugin was released in &#8220;early adopter&#8221; status last April, only two InnoDB Plugin bugs were reported by users in the MySQL bug database.  A small number of other bugs were reported by users on the <a href="http://forums.innodb.com" rel="nofollow">InnoDB forums</a>.  Most of the bugs were found through extensive internal testing.  And, on the other hand, some of the earliest tests of the InnoDB plugin were extremely positive both in terms of performance and reliability.</p>
<p>Just a note on our internally-detected and fixed bugs and the idea of publishing them.  Most of our internally-detected bugs involve complex testing scripts and workloads, and logs containing debugging information.  This sort of information is helpful for developers, but is not meaningful to users.</p>
<p>We continue to work closely with the Sun/MySQL engineers to maintain the reliability of InnoDB as distributed by MySQL as well as in the InnoDB Plugin.  We hope that together we can ensure that available fixes (some 22 of them at the moment) are incorporated more quickly into the standard MySQL distribution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-408519</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Thu, 11 Dec 2008 17:00:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-408519</guid>
		<description>Jonas,

I really should clarify something.  I should have spoken about &quot;Perceived Quality&quot;  rather than just Quality.    You can find a lot of bugs which were fixed in 4.0 or 3.23 well after they were released.

Really I respect MySQL a lot of having public searchable bug database with bugs found internally reported in it too.  This honesty however can scare people, like oh there are hundreds of not fixed bugs in MySQL</description>
		<content:encoded><![CDATA[<p>Jonas,</p>
<p>I really should clarify something.  I should have spoken about &#8220;Perceived Quality&#8221;  rather than just Quality.    You can find a lot of bugs which were fixed in 4.0 or 3.23 well after they were released.</p>
<p>Really I respect MySQL a lot of having public searchable bug database with bugs found internally reported in it too.  This honesty however can scare people, like oh there are hundreds of not fixed bugs in MySQL</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/comment-page-1/#comment-408515</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Thu, 11 Dec 2008 16:55:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=557#comment-408515</guid>
		<description>Kevin,

I did not mention MySQL 4.1 because it already had its issues, though feature wise it was indeed best release for Web applications. And the good development would be to have Subselects and prepared statements fixed for next release rather than adding more half baked features. 

The manor features in MySQL 4.1 were Subselects, Prepared Statements and Character Sets.   All they were not done by Monty and these were changes which MySQL architecture was not well designed for. 

SubQueries had number of bugs in particular in non trivial cases and still have serve performance limitations as of MySQL 5.1 (so many years and releases away).  Prepared statements had to be pretty much redesigned and rewritten from the way they were done originally to make it work, plus they also had their good share of bugs with repeated execution etc.

Finally character sets required changes across all parts of the server and also are generally quite tricky in the cases when you mix collations and use different character sets in the application.  It took a good time before 4.1 release to make majority of functions to work good with charsets and avoid breaking apps which worked normally on 4.0 with 4.1 because of charset related glitches.</description>
		<content:encoded><![CDATA[<p>Kevin,</p>
<p>I did not mention MySQL 4.1 because it already had its issues, though feature wise it was indeed best release for Web applications. And the good development would be to have Subselects and prepared statements fixed for next release rather than adding more half baked features. </p>
<p>The manor features in MySQL 4.1 were Subselects, Prepared Statements and Character Sets.   All they were not done by Monty and these were changes which MySQL architecture was not well designed for. </p>
<p>SubQueries had number of bugs in particular in non trivial cases and still have serve performance limitations as of MySQL 5.1 (so many years and releases away).  Prepared statements had to be pretty much redesigned and rewritten from the way they were done originally to make it work, plus they also had their good share of bugs with repeated execution etc.</p>
<p>Finally character sets required changes across all parts of the server and also are generally quite tricky in the cases when you mix collations and use different character sets in the application.  It took a good time before 4.1 release to make majority of functions to work good with charsets and avoid breaking apps which worked normally on 4.0 with 4.1 because of charset related glitches.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
