Bug #61088 | Cannot alter table or update all row in table at all | ||
---|---|---|---|
Submitted: | 7 May 2011 7:59 | Modified: | 17 Jan 2012 20:17 |
Reporter: | He Ha | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S1 (Critical) |
Version: | 5.5.9 | OS: | Linux (Ubuntu 64 bit) |
Assigned to: | CPU Architecture: | Any | |
Tags: | alter, innodb |
[7 May 2011 7:59]
He Ha
[7 May 2011 8:00]
He Ha
My error log.
Attachment: error.log (application/octet-stream, text), 30.25 KiB.
[7 May 2011 8:03]
He Ha
Insert data with only 1 row does not have a problem too.
[15 May 2011 14:28]
Valeriy Kravchuk
You had got assertion failure during UPDATE: 110506 20:18:10 InnoDB: Assertion failure in thread 140690106472192 in file /export/home/pb2/build/sb_0-2859905-1295553452.13/mysql-5.5.9/storage/innobase/row/row0sel.c line 4465 InnoDB: Failing assertion: trx->isolation_level == TRX_ISO_READ_UNCOMMITTED InnoDB: We intentionally generate a memory trap. The code where assertion happened is the following: ... if (!row_sel_store_mysql_rec(buf, prebuilt, result_rec, result_rec != rec, offsets)) { /* Only fresh inserts may contain incomplete externally stored columns. Pretend that such records do not exist. Such records may only be accessed at the READ UNCOMMITTED isolation level or when rolling back a recovered transaction. Rollback happens at a lower level, not here. */ ut_a(trx->isolation_level == TRX_ISO_READ_UNCOMMITTED); goto next_rec; } ... I wonder had you rolled back that failing INSERT ... SELECT statement?
[15 May 2011 15:53]
He Ha
The mysql server crashed and auto re-start. It's do auto rollback by itself. For update, I do it in number 3 (update all row with no where cause). The log contained all 3 action log that cause the mysql server crashed. You can look at these time for each error: 110506 19:53:17 is alter table 110506 20:01:02 is INSERT INTO 110506 20:18:10 is UPDATE
[30 Jun 2011 15:32]
He Ha
I found the problem now. It's problem with some text field in some row only. I cannot even SELECT text_field FROM table WHERE id=1 And Check Table command report is OK, nothing wrong which is very strange. Workaround for this problem is you must re-insert each row into new table with same structure one by one until you found the culprit row. You can also just select * each row one by one too. You can find the culprit this way as well. When you found all culprit rows, just re-insert into a new table without those rows and it's fixed.
[3 Aug 2011 0:34]
MySQL Verification Team
Could you please upgrade and verify if still happen that behavior?. Thanks.
[3 Aug 2011 1:04]
He Ha
I cannot verify that problem anymore because I have deleted the table that cause the problem already and re-create a new one with clean data.
[26 Aug 2011 12:55]
MySQL Verification Team
Hi! Please, upgrade to 5.5.15, and then try rebuild that table: ALTER TABLE .. ENGINE=InnoDB; See http://bugs.mysql.com/bug.php?id=62037 for reference...
[26 Aug 2011 13:05]
He Ha
I have not upgrade yet and this problem do not happen anymore. Maybe it's just an accident of something?
[17 Jan 2012 20:17]
Sveta Smirnova
Thank you for the feedback. Closing as "Can't repeat" as we can not check if this is duplicate of bug #62037 or not.