MySQL Forums
Forum List  »  MyISAM

Re: MyISAM Index corruption
Posted by: Ingo Strüwing
Date: April 03, 2006 07:31AM

Is "1.6 lines per day" a typo? This seems to be a very low rate.

Regarding linuxthreads I can't tell you more than in the thread you refer to. ;-) I would hope that someone in the GENERAL forum knows the answer.

The interpretation of the output of 'top' was always a miracle to me. It looks like 4.5G are active and 5.4G are cache (filesystem cache). IMO this is contradictive. Anyway, in your case it could mean that your query used at least 5.4G out of 30G of your data and these got cached in the operating system file cache. On the other hand I might indeed fail to interpret the output correctly. What does the 'VIRT' column show for mysqld before and after the query? And what does your query do? Is it a join? Will it use temporary table(s) for execution?

Your 'thread_cache' variable is probably from the example configurations. There is no such variable. You also have 'thread_cache_size', which is the correct name for it.

I don't see problems with your configuration.

You are not the only one to experience index corruptions. See all the threads about it in this forum. It seems obvious that there is a bug in the MyISAM code. No user ever could come up with a repeatable test case. But it seems that on of our support guys made one. I am currently working on Bug#17332 (http://bugs.mysql.com/bug.php?id=17332). After I fixed the crashes, I saw index corruptions with the same test case. Though this is not a common application and I might have caused the corruptions with my fix, there is still a chance that the test triggers that bug that causes so much problems. If I succeed in finding and fixing it, I will be able to tell how good the chances are that it could also address the general case.

Meanwhile, if you don't succeed with non-LunixThreads you could also look at these options:

- ALTER TABLE ... ENGINE=InnoDB.

- Switch to a linux kernel 2.6.16 with all preemption turned on:
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
Or, if this is already the case, turn it off. This has great influence of thread scheduling and may thus avoid the critical situations.

Regards

Ingo Strüwing, Senior Software Developer - Storage Engines
MySQL AB, www.mysql.com

Options: ReplyQuote


Subject
Views
Written By
Posted
2812
April 03, 2006 01:27AM
Re: MyISAM Index corruption
1895
April 03, 2006 07:31AM
1789
April 03, 2006 09:04AM
1871
April 04, 2006 03:50AM
1756
April 04, 2006 11:09AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.