From: Michael Widenius Date: April 28 2008 12:21pm Subject: Re: merge of Maria into 6.0 List-Archive: http://lists.mysql.com/maria/26 Message-Id: <18453.49494.521253.214503@narttu.mysql.fi> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi! >>>>> "Guilhem" == Guilhem Bichot writes: >> Assuming that most major bug fixes in MyISAM have test cases, we >> already have a good verification that Maria parts are ok by running >> all tests with the Maria engine. Guilhem> On Dec 20 2007 we did a MyISAM->Maria merge. Guilhem> Back from Orlando (20 Jan 2008) I ran all tests with Guilhem> --default-storage-engine=maria, inspected all test results, and found Guilhem> no issue. Guilhem> On March 25 I discovered, because I was looking at some code portion, Guilhem> that the merge of Dec 20 had missed some MyISAM changes. Which had not Guilhem> been caught by running the testsuite with Guilhem> --default-storage-engine=maria, as we have seen. Guilhem> Jani and you then made a diff and fixed the bugs; they were: Guilhem> Bug#28837 MyISAM storage engine error (134) doing delete with self-join Guilhem> Bug#31277 myisamchk --unpack corrupts table Guilhem> Bug#4692 DISABLE/ENABLE KEYS waste a space Guilhem> Bug#31305 myisam tables crash when they are near capacity Guilhem> which are important bugs (corruption, errors). They were all missed Guilhem> during the Dec 20 merge (they were all fixed before Dec 20 in Guilhem> 5.1-main, some even in November). This happend becasuse on the December merge we did not move any MyISAM fixes to Maria. This has now been done. Guilhem> So, maybe most major bug fixes in MyISAM have test cases, as you say, Guilhem> but truly some don't have, as the example shows. Running with Guilhem> --default-storage-engine=maria missed all above ones; it thus is not a Guilhem> good *enough* verification that Maria parts are ok. Guilhem> Whereas looking at Maria code (which I did) caught BUG#4692, which led Guilhem> you and Jani to generate a diff, which led to fixing the bugs. Guilhem> So I still believe that generating a diff before the big merge into Guilhem> 6.0, is necessary. It may take a while to read this diff (actually, Guilhem> I'd rather have a look at it from a GUI like kdiff3), it is clear that Guilhem> we won't catch all mistakes because some code has diverged, but we can Guilhem> catch some. Guilhem> If you think it is worthless, then I'll put it on my personal to-do Guilhem> list (but I may still involve you for explaining the differences which Guilhem> I don't understand). I didn't say it's worthless. I said that for the main code it's probably not needed but we can do it anyway just to be safe. However to do a diff between Maria and MyISAM there is now so many differences this will be extremely hard to do and I don't think it's worth it. If don't mind you doing it if you really want to. Regards, Monty