Aria crash recovery failures
(MDEV-19813)
|
|
| Status: | Stalled |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - Aria |
| Affects Version/s: | 10.4, 10.5, 10.6 |
| Fix Version/s: | 10.4, 10.5, 10.6 |
| Type: | Technical task | Priority: | Critical |
| Reporter: | Elena Stepanova | Assignee: | Michael Widenius |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Description |
|
The attached datadir data.tar.gz The server was run with
(note that the path to the encryption key file might need to be modified). While trying to start the server again with the same options on this data directory, various failures have been observed. Most often this one:
This failure was previously mentioned in Further attempts to start the server after it end the same way. Another one has been observed once so far:
This failure was mentioned in comments to MDEV-15256. The datadir after this crash is attached as data2.tar.gz Further attempts to start the server after it end with
Finally, non-debug server fails to start on data.tar.gz
Given that the assertion failures have been seen long time ago, it's very likely that other versions are also affected. But since the attached data directories were created on 10.4, I can't check other versions with it, and thus filing it as a 10.4 bug. Please feel free to adjust affected/fix versions accordingly. |
| Comments |
| Comment by Michael Widenius [ 2019-06-13 ] | |||||||||||||||||||
|
I was able to repeat the error with data.tar.gz. The problem was a miss match between the last checkpoint lsn in Unfortunately there is not enough information of what could have caused this. I did check all writes to the aria_log_control file and as far as I could find, the log is always flushed before the control file which should make this thing impossible. I need more data or a way to repeat the issue to be able to find out what is going on. For now, I have at changed the code so that instead of an assert we get a readable error message that shows the miss match. | |||||||||||||||||||
| Comment by Michael Widenius [ 2019-06-14 ] | |||||||||||||||||||
|
Not much I can do about this bug report as the data uploaded is encrypted and the the keys aren't in the test case. However, I have found a lot of bugs when trying to use encrypted tables without keys and I have fixed all that I can find. I have also cleaned up the progress reporting in the log file to be more readable. | |||||||||||||||||||
| Comment by Elena Stepanova [ 2019-06-15 ] | |||||||||||||||||||
|
Standard MTR keys from mysql-test/std_data/keys.txt are used. | |||||||||||||||||||
| Comment by Marko Mäkelä [ 2019-06-17 ] | |||||||||||||||||||
|
I am wonder if this assertion failure on Windows is related:
| |||||||||||||||||||
| Comment by Elena Stepanova [ 2019-06-20 ] | |||||||||||||||||||
|
main.delayed doesn't perform any server restarts, so I don't know if it can be related to recovery problems. | |||||||||||||||||||
| Comment by Marko Mäkelä [ 2021-11-12 ] | |||||||||||||||||||
|
For the record, I tried the recovery of data.tar.gz
It failed to recover:
(Note: The data directory also includes an InnoDB log file, and InnoDB recovery is supposed to be refused with MariaDB 10.5 or later.) | |||||||||||||||||||
| Comment by Marko Mäkelä [ 2022-09-06 ] | |||||||||||||||||||
|
The test main.grant_kill joins the club:
|