mariadb/extra/mariabackup
Marko Mäkelä 155019b96b MDEV-28994 Backup of memory-mapped log is corrupted
An interface to use memory-mapped I/O on the InnoDB redo log that
is stored in persistent memory was introduced
in commit 685d958e38 (MDEV-14425).

log_t::attach(): In mariadb-backup --backup, never attempt to
use memory-mapped I/O for reading the log file of the server.

xtrabackup_copy_logfile(): Assert !log_sys.is_pmem() and remove
the code to deal with a memory-mapped log.

This fixes a race condition scenario of the following type:
1. Backup parsed a mini-transaction from the memory-mapped buffer.
This took some time.
2. Meanwhile, the server might have overwritten this portion
of the circular log_sys.buf.
3. Backup copied the data to the output file while or after
the server had overwritten this portion of the file.
4. Backup failed to notice that a log overrun occurred.

The symptom of this was that a mariadb-backup --prepare of the
log failed. In the analyzed case, the error message was:
[ERROR] InnoDB: Missing FILE_CHECKPOINT(...)

This will also make it possible to run mariadb-backup --backup
under "rr replay".
2022-07-01 18:07:07 +03:00
..
quicklz
backup_copy.cc Merge 10.7 into 10.8 2022-04-27 10:43:00 +03:00
backup_copy.h MDEV-27524: Incorrect binlogs after Galera SST using rsync and mariabackup 2022-02-22 10:45:06 +01:00
backup_debug.h MDEV-25312 Replace fil_space_t::name with fil_space_t::name() 2021-04-07 18:01:13 +03:00
backup_mysql.cc Merge branch '10.6' into 10.7 2022-05-11 11:25:33 +02:00
backup_mysql.h MDEV-27524: Incorrect binlogs after Galera SST using rsync and mariabackup 2022-02-22 10:45:06 +01:00
backup_wsrep.h
changed_page_bitmap.cc MDEV-14425 Improve the redo log for concurrency 2022-01-21 16:03:47 +02:00
changed_page_bitmap.h MDEV-14425 Improve the redo log for concurrency 2022-01-21 16:03:47 +02:00
CMakeLists.txt MDEV-14425 Improve the redo log for concurrency 2022-01-21 16:03:47 +02:00
common.h Merge 10.6 into 10.7 2022-02-25 16:09:16 +02:00
datasink.cc Merge 10.2 into 10.3 2021-09-22 18:01:41 +03:00
datasink.h MDEV-26573 : A static analyzer warning about ds_archive.cc 2021-09-15 14:19:24 +02:00
ds_buffer.cc Merge 10.4 into 10.5 2021-04-14 11:35:39 +03:00
ds_buffer.h
ds_compress.cc Merge 10.4 into 10.5 2022-06-02 16:51:13 +03:00
ds_compress.h
ds_local.cc MDEV-26195: Use a 32-bit data type for some tablespace fields 2021-07-22 11:22:47 +03:00
ds_local.h
ds_stdout.cc MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
ds_stdout.h
ds_tmpfile.cc Merge 10.4 into 10.5 2021-04-14 11:35:39 +03:00
ds_tmpfile.h
ds_xbstream.cc Merge 10.4 into 10.5 2021-09-24 08:42:23 +03:00
ds_xbstream.h
fil_cur.cc MDEV-26195: Use a 32-bit data type for some tablespace fields 2021-07-22 11:22:47 +03:00
fil_cur.h MDEV-26195: Use a 32-bit data type for some tablespace fields 2021-07-22 11:22:47 +03:00
innobackupex.cc Merge branch '10.4' into 10.5 2021-07-31 23:19:51 +02:00
innobackupex.h
read_filt.cc
read_filt.h MDEV-26195: Use a 32-bit data type for some tablespace fields 2021-07-22 11:22:47 +03:00
write_filt.cc MDEV-26195: Use a 32-bit data type for some tablespace fields 2021-07-22 11:22:47 +03:00
write_filt.h MDEV-22929 MariaBackup option to report and/or continue when corruption is encountered 2020-12-01 08:08:57 +03:00
wsrep.cc
xb_plugin.cc MDEV-14425 Improve the redo log for concurrency 2022-01-21 16:03:47 +02:00
xb_plugin.h mariabackup: rename encryption_plugin -> xb_plugin 2021-10-27 15:55:14 +02:00
xb_regex.h
xbcloud.cc
xbstream.cc Merge 10.4 into 10.5 2021-11-29 11:16:20 +02:00
xbstream.h
xbstream_read.cc MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
xbstream_write.cc MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
xtrabackup.cc MDEV-28994 Backup of memory-mapped log is corrupted 2022-07-01 18:07:07 +03:00
xtrabackup.h Merge 10.7 into 10.8 2022-02-25 16:24:13 +02:00