Page MenuHomePhabricator

Unable to drop tables on dewiki.labsdb/s51072__dwl_p
Closed, ResolvedPublic

Description

On dewiki.labsdb, in database s51072__dwl_p, user tools.giftbot, I tried to execute

insert into pass1 values (…);

error:

Got error 175 "File too short; Expected more data in file" from storage engine Aria

Now for the important part: I later tried to execute

drop table if exists pass2;

error:

Got error 1 "Operation not permitted" from storage engine Aria

The same applies to pass1 and el_copy.
I also got:

Table './s51072__dwl_p/tmp' is marked as crashed and should be repaired

executing:

create table s51072__dwl_p.tmp …;

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptAug 8 2017, 12:50 PM
jcrespo claimed this task.Aug 8 2017, 1:11 PM
jcrespo added a subscriber: jcrespo.

I will try to repair the tables for you, but sadly aria/myisam are not very reliable storage engines and this can happen.

There seems to be corruption on allmost all, if not all Aria table, it seems to have internally crashed, not allowing even dropping the table. After I delete physically the index file, drops can happen. mysqldump can be used (but not SELECT) to backup the tables before dropping them.

Thanks for the report- this was a larger issue than I thought.

@Giftpflanze It should work now, Aria had crashed internally, even if MySQL was still up. My advice to avoid this issue in the future is to convert/create the tables to InnoDB (ENGINE=InnoDB). Aria has been shown to be a very unreliable store format.

Please check and we can resolve this.

@Marostegui labsdb1003 misbehaved today, I tried to fix it without rebooting, but it ended up crashing and recovering itself to a better state. I have migrated some key tables to InnoDB.

jcrespo moved this task from Triage to Done on the DBA board.Aug 8 2017, 4:45 PM
Giftpflanze closed this task as Resolved.Aug 8 2017, 5:48 PM

I went through my table creation statements and added engine statements. I dropped four tables that I want to recreate and changed the engine of the remaining to InnoDB. Thank you for your prompt reaction!