mariadb/storage/innobase
Marko Mäkelä 17080cbcf0 MDEV-21945 Assertion w==OPT failed in trx_purge_add_undo_to_history()
By default, when redo log is being written for modifying a persistent
data page, the data page must actually be changed. If the write can
sometimes be optimized away, then the template parameter w=mtr_t::OPT
should be passed in order to silence the debug assertion failure.

InnoDB undo log pages can be reused without properly freeing or
initializing them in between. In particular, the undo log header
page field TRX_UNDO_TRX_NO could have been part of an undo log
record page, and those bytes could accidentally have the desired
value when the page is reused as an undo log header page of
another transaction.

Because the function trx_undo_set_state_at_finish() always changes
the TRX_UNDO_STATE of the page, and because recovery is only reading
TRX_UNDO_TRX_NO for pages that either have the correct TRX_UNDO_STATE
or, in trx_rseg_array_init(), are attached to the TRX_SYS page, the
garbage values in TRX_UNDO_TRX_NO do not seem to cause a problem.

This assertion failure affects debug builds only.
2020-03-16 08:58:54 +02:00
..
btr MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
buf Fixed compiler failures with gcc 7.4.1 and new my_malloc code 2020-03-14 15:24:13 +02:00
data MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
dict Merge branch 'github/10.5' into 10.5 2020-03-14 09:52:35 +01:00
eval Merge 10.4 into 10.5 2019-12-16 07:47:17 +02:00
fil MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
fsp MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
fts Fix various spelling errors 2020-03-16 00:10:50 +02:00
fut MDEV-12353: Change the redo log encoding 2020-02-13 19:12:17 +02:00
gis MDEV-21924 Clean up InnoDB GIS record comparison 2020-03-12 18:13:53 +02:00
ha Cleanup: Aligned InnoDB index page header access 2020-02-08 14:12:59 +02:00
handler Merge branch 'github/10.5' into 10.5 2020-03-14 09:52:35 +01:00
ibuf MDEV-21907: Fix or disable -Wconversion on GCC 5.3.0 i386 2020-03-13 06:55:00 +02:00
include cleanup redo log 2020-03-14 00:52:21 +03:00
lock MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
log MDEV-21534 - Improve innodb redo log group commit performance 2020-03-15 21:40:11 +01:00
mem MDEV-15058: Deprecate and ignore innodb_buffer_pool_instances 2020-02-12 14:45:21 +02:00
mtr MDEV-21907: Fix most clang -Wconversion in InnoDB 2020-03-11 08:29:48 +02:00
mysql-test/storage_engine MDEV-20907 Set innodb_log_files_in_group=1 by default 2019-10-28 17:11:10 +02:00
os MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
page Merge branch 'github/10.5' into 10.5 2020-03-14 09:52:35 +01:00
pars MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
que fix a memory leak introduced by f4b4284650 2019-12-12 21:29:51 +07:00
read MVCC::view_close(): Correct comments 2019-09-04 09:42:38 +03:00
rem MDEV-21907: Fix or disable -Wconversion on GCC 5.3.0 i386 2020-03-13 06:55:00 +02:00
row MDEV-21907: Fix or disable -Wconversion on GCC 5.3.0 i386 2020-03-13 06:55:00 +02:00
srv MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
sync MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
trx MDEV-21945 Assertion w==OPT failed in trx_purge_add_undo_to_history() 2020-03-16 08:58:54 +02:00
ut MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
.clang-format add .clang-format file for InnoDB 2019-10-29 21:56:24 +03:00
bzip2.cmake Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
CMakeLists.txt MDEV-15528 Punch holes when pages are freed 2020-03-10 10:51:08 +05:30
compile-innodb Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
COPYING.Google
COPYING.Percona
innodb.cmake MDEV-21907: InnoDB: Enable -Wconversion on clang and GCC 2020-03-12 19:46:41 +02:00
lz4.cmake Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
lzma.cmake Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
lzo.cmake Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
plugin_exports
snappy.cmake Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00