[MDEV-18377] Assertion `!recv_sys->mlog_checkpoint_lsn || *space == TRX_SYS_SPACE || srv_is_undo_tablespace(*space) || it != recv_spaces.end()' failed in recv_parse_log_rec upon prepare from a full backup Created: 2019-01-25 Updated: 2019-02-05 Resolved: 2019-02-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | mariabackup, Storage Engine - InnoDB |
| Affects Version/s: | N/A |
| Fix Version/s: | 10.4.3, 10.2.22, 10.3.13 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Thirunarayanan Balathandayuthapani |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | regression | ||
| Environment: |
bb-10.2- |
||
| Issue Links: |
|
||||||||
| Description |
|
Backup data dirs and logs can be found here: The first dataset is from the simpler full backup scenario, but it uses encryption, which is a bit of a complication. Check and update encryption options (paths) as necessary. The second dataset is from the incremental backup scenario, even though it fails on the first prepare, performed on the full backup, before applying any incremental backups. It doesn't use encryption. Notes on the origin of the report Please note it's not necessarily reproducible the same way. https://travis-ci.org/elenst/travis-tests/jobs/483980185 https://travis-ci.org/elenst/travis-tests/jobs/483980187 |
| Comments |
| Comment by Thirunarayanan Balathandayuthapani [ 2019-01-25 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Basically assert was added to ensure that MLOG_FILE_NAME records was processed for the tablespace before parsing FSP_SIZE redo log records. Even normal recovery could affect by the assert if we have multiple checkpoint happened between latest checkpoint and MLOG_CHECKPOINT of that | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Thirunarayanan Balathandayuthapani [ 2019-01-28 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Somehow i felt the assert is too strict. So wrote a test case to confirm it.
For the above test case, here is ib_log output:
For this test case, assert was failing. Because we need to set FSP_SIZE only during apply of multiple mini-transaction not during parsing of The below patch solves the issue:
marko approved the patch. So pushed the patch along with mdev-18194 fix to test it. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Thirunarayanan Balathandayuthapani [ 2019-02-04 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Pushed as a part of mdev-18194 |