mariadb/storage
Marko Mäkelä 1cb218c37c MDEV-26450: Corruption due to innodb_undo_log_truncate
At least since commit 055a3334ad
(MDEV-13564) the undo log truncation in InnoDB did not work correctly.

The main issue is that during the execution of
trx_purge_truncate_history() some pages of the newly truncated
undo tablespace could be discarded.

fsp_try_extend_data_file(): Apply the peculiar rounding of
fil_space_t::size_in_header only to the system tablespace,
whose size can be expressed in megabytes in a configuration parameter.
Other files may freely grow by a number of pages.

fseg_alloc_free_page_low(): Do allow the extension of undo tablespaces,
and mention the file name in the error message.

mtr_t::commit_shrink(): Implement crash-safe shrinking of a tablespace
file. First, durably write the log, then shrink the file, and finally
release the page latches of the rebuilt tablespace. Refactored from
trx_purge_truncate_history().

log_write_and_flush_prepare(), log_write_and_flush(): New functions
to durably write log during mtr_t::commit_shrink().
2021-09-22 14:15:00 +03:00
..
archive MDEV-17556 Assertion `bitmap_is_set_all(&table->s->all_set)' failed 2021-01-08 16:04:29 +10:00
blackhole MDEV-24017: Blackhole : Specified key was too long; max key length is 1000 bytes 2020-10-24 22:43:21 +11:00
cassandra MDEV-17556 Assertion `bitmap_is_set_all(&table->s->all_set)' failed 2021-01-08 16:04:29 +10:00
connect Merge remote-tracking branch 'connect/10.2' into 10.2 2021-07-27 18:25:42 +02:00
csv MDEV-17556 Assertion `bitmap_is_set_all(&table->s->all_set)' failed 2021-01-08 16:04:29 +10:00
example Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
federated MDEV-17556 Assertion `bitmap_is_set_all(&table->s->all_set)' failed 2021-01-08 16:04:29 +10:00
federatedx MDEV-17556 Assertion `bitmap_is_set_all(&table->s->all_set)' failed 2021-01-08 16:04:29 +10:00
heap MDEV-21082: isnan/isinf compilation errors, isfinite warnings on MacOS 2019-11-19 16:28:15 +03:00
innobase MDEV-26450: Corruption due to innodb_undo_log_truncate 2021-09-22 14:15:00 +03:00
maria fix clang build 2021-08-23 16:47:25 +06:00
mroonga CMakeLists.txt: remove MYSQL_SOURCE_DIR from MYSQL_INCLUDE_DIRS 2021-08-19 09:35:45 +03:00
myisam fix clang build 2021-08-23 16:47:25 +06:00
myisammrg Merge branch '10.1' into 10.2 2020-08-02 11:05:29 +02:00
oqgraph Some tests can take very long time when run with valgrind 2021-07-24 21:32:52 +03:00
perfschema MDEV-25325 built-in documentation for performance_schema tables 2021-09-07 08:45:19 +03:00
rocksdb rocksdb: disable on arm64 except for Linux 2021-08-26 17:42:32 +10:00
sequence MDEV-17556 Assertion `bitmap_is_set_all(&table->s->all_set)' failed 2021-01-08 16:04:29 +10:00
sphinx MDEV-17556 Assertion `bitmap_is_set_all(&table->s->all_set)' failed 2021-01-08 16:04:29 +10:00
spider MDEV-26545 Spider does not correctly handle UDF and stored function in where conds 2021-09-22 18:54:22 +09:00
test_sql_discovery Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
tokudb MDEV-23786: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' 2021-07-26 11:28:06 +05:30
xtradb cleanup: specifying plugin dependencies in CMakeLists.txt 2021-08-03 10:10:00 +02:00