List:Maria Storage Engine« Previous MessageNext Message »
From:Michael Widenius Date:April 28 2008 12:21pm
Subject:Re: merge of Maria into 6.0
View as plain text  

>>>>> "Guilhem" == Guilhem Bichot <guilhem@stripped> 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.

merge of Maria into 6.0Guilhem Bichot25 Apr
  • re: merge of Maria into 6.0Michael Widenius25 Apr
    • Re: merge of Maria into 6.0Guilhem Bichot25 Apr
    • Re: merge of Maria into 6.0Guilhem Bichot26 Apr
      • Re: merge of Maria into 6.0Michael Widenius28 Apr