[MDEV-3311] LP:613418 - (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. Created: 2010-08-04 Updated: 2015-02-02 Resolved: 2012-10-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | Philip Stoev (Inactive) | Assignee: | Michael Widenius |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
When recovering from the rqg_maria_varchar test, which uses random DML statements with lengthy strings and multibyte character sets, (M)aria failed as follows:
The core, binary and such will be uploaded shortly. |
| Comments |
| Comment by Philip Stoev (Inactive) [ 2010-08-04 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed.
|
| Comment by Philip Stoev (Inactive) [ 2010-08-04 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. revision-id: sanja@askmonty.org-20100804094351-8yyx0m06vi4pr9fj core, binary, vardir, etc. |
| Comment by Michael Widenius [ 2010-08-09 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. |
| Comment by Philip Stoev (Inactive) [ 2010-09-07 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. |
| Comment by Philip Stoev (Inactive) [ 2010-09-07 ] |
|
This is still repeatable even after the latest patch. |
| Comment by Philip Stoev (Inactive) [ 2010-09-07 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed.
|
| Comment by Michael Widenius [ 2010-09-08 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. |
| Comment by Philip Stoev (Inactive) [ 2010-09-09 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. revision-id: monty@askmonty.org-20100907165839-hbgfbzsuytbxtzn2 maria_read_log reports: The transaction log starts from lsn (1,0x2007) |
| Comment by Philip Stoev (Inactive) [ 2010-09-09 ] |
|
This is still repeatable with revision-id: <email address hidden> maria_read_log reports: The transaction log starts from lsn (1,0x2007) datadir, logs, etc. |
| Comment by Philip Stoev (Inactive) [ 2010-09-09 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed.
|
| Comment by Michael Widenius [ 2010-09-09 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. WARNING: Aria engine currently logs no records about insertion of data by ALTER TABLE and CREATE SELECT, as they are not necessary for recovery; present applying of log records to table './test/table1_maria_varchar_1024_not_null.MAI' may well not work There is one cases when maria_read_log can't recreate all data. This is when one is doing inserting into the table with a bulk insert and then creating the index with repair. This happens in the following cases:
From recovery point of few things are safe as the recovery log will log an undo entry that will restore the table to it's empty state if the bulk insert failed and if it succeeded the undo entry will be ignored. Running maria_read_log on crashed data should work as everything before the checkpoint will be ignored and on bulk insert we have a check that the table is up to date. One can force Aria to never do bulk insert, in which case maria_read_log should work. This is done by starting mysqld with the --safe-mode option. With the --safe-mode option I was not able to repeat the problem. I downloaded var-bug613418-2.zip, but maria_read_log -a -s worked perfectly in the master-data directory. How can I repeat the problem with the test file ? |
| Comment by Michael Widenius [ 2010-11-03 ] |
|
Re: (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed. |
| Comment by Rasmus Johansson (Inactive) [ 2010-12-17 ] |
|
Launchpad bug id: 613418 |