mariadb/storage/innobase
Marko Mäkelä c14a39431b MDEV-30753 Possible corruption due to trx_purge_free_segment()
Starting with commit 0de3be8cfd (MDEV-30671),
the field TRX_UNDO_NEEDS_PURGE lost its previous meaning.
The following scenario is possible:

(1) InnoDB is killed at a point of time corresponding to the durable
execution of some fseg_free_step_not_header() but not
trx_purge_remove_log_hdr().
(2) After restart, the affected pages are allocated for something else.
(3) Purge will attempt to access the newly reallocated pages when looking
for some old undo log records.

trx_purge_free_segment(): Invoke trx_purge_remove_log_hdr() as the first
thing, to be safe. If the server is killed, some pages will never be
freed. That is the lesser evil. Also, before each mtr.start(), invoke
log_free_check() to prevent ib_logfile0 overrun.
2023-02-28 15:39:23 +02:00
..
btr Merge 10.4 into 10.5 2022-12-13 14:39:18 +02:00
buf MDEV-30551 InnoDB recovery hangs when buffer pool ran out of memory 2023-02-14 14:35:35 +05:30
data Merge 10.4 into 10.5 2022-10-25 11:26:37 +03:00
dict Merge 10.4 into 10.5 2023-01-03 17:08:42 +02:00
eval
fil Merge 10.4 into 10.5 2022-09-20 13:17:02 +03:00
fsp Merge 10.4 into 10.5 2022-12-13 14:39:18 +02:00
fts Merge 10.4 into 10.5 2023-01-03 17:08:42 +02:00
fut MDEV-22110 preparation: Remove mtr_memo_contains macros 2020-06-10 07:50:09 +03:00
gis Merge 10.4 into 10.5 2022-10-25 11:26:37 +03:00
ha MDEV-22871: Remove pointer indirection for InnoDB hash_table_t 2020-06-18 14:16:01 +03:00
handler Merge 10.4 into 10.5 2023-02-10 12:02:11 +02:00
ibuf MDEV-30552 InnoDB recovery crashes when error handling scenario 2023-02-14 14:36:17 +05:30
include MDEV-30753 Possible corruption due to trx_purge_free_segment() 2023-02-28 15:39:23 +02:00
lock Merge branch 10.4 into 10.5 2023-01-14 08:25:57 +02:00
log MDEV-30657 InnoDB: Not applying UNDO_APPEND due to corruption 2023-02-15 18:16:41 +02:00
mem Merge 10.4 into 10.5 2020-07-02 09:41:44 +03:00
mtr MDEV-30438 innodb.undo_truncate,4k fails when innodb-immediate-scrub-data-uncompressed is enabled 2023-01-23 09:55:49 +05:30
mysql-test/storage_engine
os Merge 10.4 into 10.5 2022-09-20 13:17:02 +03:00
page MDEV-30404: Inconsistent updates of PAGE_MAX_TRX_ID on ROW_FORMAT=COMPRESSED pages 2023-01-26 14:47:52 +02:00
pars Merge 10.4 into 10.5 2021-11-09 08:50:33 +02:00
que Merge 10.4 into 10.5 2022-11-08 17:01:28 +02:00
read Merge branch '10.3' into 10.4 2021-07-31 22:59:58 +02:00
rem Merge branch '10.4' into 10.5 2022-02-01 20:33:04 +01:00
row Merge 10.4 into 10.5 2023-02-10 12:02:11 +02:00
srv MDEV-23855 fixup: Remove SRV_MASTER_CHECKPOINT_INTERVAL 2023-01-25 13:53:10 +02:00
sync Merge 10.4 into 10.5 2022-04-21 15:33:50 +03:00
trx MDEV-30753 Possible corruption due to trx_purge_free_segment() 2023-02-28 15:39:23 +02:00
unittest MDEV-19522 fixup: Use correct printf format 2021-10-21 15:53:35 +03:00
ut Cleanup: Say "mariadbd" instead of "mysqld" in InnoDB messages 2022-11-22 15:32:47 +02:00
.clang-format-old switch off storage/innobase/.clang-format: InnoDB uses a common formatting style for all new code 2021-03-17 11:01:15 +03:00
bzip2.cmake Add feature summary at the end of cmake. 2021-07-21 10:22:56 +03:00
CMakeLists.txt Merge 10.4 into 10.5 2023-02-10 12:02:11 +02:00
compile-innodb
COPYING.Google
COPYING.Percona
lz4.cmake Add feature summary at the end of cmake. 2021-07-21 10:22:56 +03:00
lzma.cmake Add feature summary at the end of cmake. 2021-07-21 10:22:56 +03:00
lzo.cmake Add feature summary at the end of cmake. 2021-07-21 10:22:56 +03:00
snappy.cmake Add feature summary at the end of cmake. 2021-07-21 10:22:56 +03:00