[MDEV-628] LP:989055 - Querying myisam table metadata may corrupt the table Created: 2012-04-26 Updated: 2013-03-27 Resolved: 2013-03-27 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 5.5.30 |
| Type: | Bug | Priority: | Major |
| Reporter: | Jason Parrott (Inactive) | Assignee: | Unassigned |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
This is related to bug lp:925377, but confirmed on the 5.3.6 release. Jervin R (viiin) wrote a reproducer which I have attached (myisam_crash.rb) and confirm causes the corrupt table message. We're seeing corrupt tables on our live databases as well. This bug appears to be present still on 5.3.6 - possibly not during ENABLE|DISABLE keys but immediately before drop. see my.cnf below and Ruby script for test case.
Produces the output: |
| Comments |
| Comment by Jason Parrott (Inactive) [ 2012-04-26 ] | |
|
Re: Querying myisam table metadata may corrupt the table | |
| Comment by Jason Parrott (Inactive) [ 2012-04-26 ] | |
|
myisam_crash.rb | |
| Comment by Elena Stepanova [ 2012-04-27 ] | |
|
Re: Querying myisam table metadata may corrupt the table
--connect(con1,localhost,root,,)
--connection default SHOW TABLE STATUS LIKE 'bug925377'; --connection con1
| |
| Comment by Peter (Stig) Edwards (Inactive) [ 2012-05-15 ] | |
|
Re: Querying myisam table metadata may corrupt the table #!/bin/sh HOST=localhost function run_cmd { function dbs_size { do function table_run { function many_table_run { do dbs_size &
| |
| Comment by Peter (Stig) Edwards (Inactive) [ 2012-05-15 ] | |
|
Re: Querying myisam table metadata may corrupt the table | |
| Comment by Peter (Stig) Edwards (Inactive) [ 2012-05-23 ] | |
|
Re: Querying myisam table metadata may corrupt the table
--disable_warnings --connect(con1,localhost,root,,) let $i= 200; let $j= 200; let $k= 200;
| |
| Comment by Elena Stepanova [ 2012-05-23 ] | |
|
Re: Querying myisam table metadata may corrupt the table There was an MTR test case in comment #2, does it not work for you? | |
| Comment by Rasmus Johansson (Inactive) [ 2012-05-24 ] | |
|
Launchpad bug id: 989055 | |
| Comment by Peter (Stig) Edwards (Inactive) [ 2012-05-24 ] | |
|
Re: Querying myisam table metadata may corrupt the table < eval SHOW TABLE STATUS LIKE 't_$j'; This fails because of the the table mark as crashed error in the mysqld err log. The MTR test case in comment #2 works for me, in that it reproduces the problem of table marked as crashed. Even though I suspect the bug may be the same, I wanted to try and produce a MTR test case for the 2nd reproducer I have not run it with a debug binary, if it is the same bug then please disregard it, thanks. | |
| Comment by Michael Widenius [ 2013-02-27 ] | |
|
The problem was that ALTER TABLE ENABLE KEYS was not protecting against SHOW COMMANDS that opening the table. I am now testing a fix that should solve this issue by having SHOW commands wait for an alter table or repair to finish. | |
| Comment by Michael Widenius [ 2013-03-05 ] | |
|
Fixed and pushed into 5.5 tree | |
| Comment by Elena Stepanova [ 2013-03-27 ] | |
|
Reopening for a moment to modify the 'Fix version' field | |
| Comment by Elena Stepanova [ 2013-03-27 ] | |
|
Since the fix was only pushed into 5.5, I removed 5.1/5.2/5.3 from 'Fix version' |