Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
10.5.2
Description
In our test environment, we got a case where mariabackup --prepare would fail to apply log due to corruption on a ROW_FORMAT=REDUNDANT page.
With a debugger, I collected the following records (start_lsn, lsn, log record data) for the page from log_phys_t::apply():
start_lsn | lsn | data |
---|---|---|
1871057 | 1873747 | 3509817f0b5a |
1883172 | 1885878 | 3609817f0e016b |
1883172 | 1885878 | 3609817f300000 |
1883172 | 1885878 | 3809817f2c03da068eb20702 |
1883172 | 1885878 | b23603 |
1883172 | 1885878 | b489770074 |
1883172 | 1885878 | 3609817f801200* |
1914429 | 1917880 | 3509817f0b3a |
1947460 | 1947479 | 3609817f869b20 |
1947460 | 1947479 | ba0d06420f00000379051a |
1947597 | 1947624 | 3909817f89c2ffffffff |
1947597 | 1947624 | b30a0000 |
1947624 | 1947631 | 2509817f0800 |
The problem was detected at the last record, DELETE_ROW_FORMAT_REDUNDANT of the first user record on the page. Earlier in the log, the link to the page supremum record in the last record of the page (there were only two records) was replaced with a null pointer, by the last record listed for start_lsn=1883172.
Apparently, some log record was not written.
We had a rr record of the server process, but unfortunately it became unusable due to some change in the environment (probably related to updating shared libraries when upgrading the operating system). We must repeat this bug again so that it can be analyzed with rr replay.
Attachments
Issue Links
- duplicates
-
MDEV-22139 fseg_free_page_low() fails to write FREE_PAGE record, breaking recovery
- Closed
- is caused by
-
MDEV-15528 Avoid writing freed InnoDB pages
- Closed
- relates to
-
MDEV-12353 Efficient InnoDB redo log record format
- Closed
-
MDEV-22110 InnoDB unnecessarily writes unmodified pages
- Closed
-
MDEV-22096 Mariabackup copied too old page or too new checkpoint
- Closed