maria:bb-10.11-MDEV-30136

Last commit made on 2022-12-07
Get this branch:
git clone -b bb-10.11-MDEV-30136 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.11-MDEV-30136
Repository:
lp:maria

Recent commits

0dd84bd... by Vladislav Vaintroub

WIP MDEV-30136 Fix compile error.

Also make it more obvious, why fil_system.buffered settiong is
sometimes ignored.

255e773... by Marko Mäkelä

WIP MDEV-30136: Implement innodb_data_file_{buffered,write_through}

Also, make InnoDB obey debug_no_sync (my_disable_sync).

TODO: Implement fil_system.set_write_through(),
fil_system.set_buffered().

884d121... by Marko Mäkelä

MDEV-30136: Implement innodb_log_file_write_through

dafd6f1... by Marko Mäkelä

Work around MDEV-30157

ee1d9cc... by Marko Mäkelä

MDEV-29986 Set innodb_undo_log_truncate=ON and innodb_undo_tablespaces=3

Starting with commit baf276e6d4a44fe7cdf3b435c0153da0a42af2b6 (MDEV-19229)
the parameter innodb_undo_tablespaces can be increased from its
previous default value 0 while allowing an upgrade from old databases.

We will change the default settings to innodb_undo_tablespaces=3
and innodb_undo_log_truncate=ON, so that the space occupied by
possible bursts of undo log records will be eventually reclaimed.

ed020c5... by Marko Mäkelä

MDEV-29983 Deprecate innodb_file_per_table

Before commit 6112853cdab2770e92f9cfefdfef9c0a14b71cb7 in MySQL 4.1.1
introduced the parameter innodb_file_per_table, all InnoDB data was
written to the InnoDB system tablespace (often named ibdata1).
A serious design problem is that once the system tablespace has grown to
some size, it cannot shrink even if the data inside it has been deleted.

There are also other design problems, such as the server hang MDEV-29930
that should only be possible when using innodb_file_per_table=0 and
innodb_undo_tablespaces=0 (storing both tables and undo logs in the
InnoDB system tablespace).

The parameter innodb_change_buffering was deprecated
in commit b5852ffbeebc3000982988383daeefb0549e058a.
Starting with commit baf276e6d4a44fe7cdf3b435c0153da0a42af2b6
(MDEV-19229) the number of innodb_undo_tablespaces can be increased,
so that the undo logs can be moved out of the system tablespace
of an existing installation.

If all these things (tables, undo logs, and the change buffer) are
removed from the InnoDB system tablespace, the only variable-size
data structure inside it is the InnoDB data dictionary.

DDL operations on .ibd files was optimized in
commit 86dc7b4d4cfe15a2d37f8b5f60c4fce5dba9491d (MDEV-24626).
That should have removed any thinkable performance advantage of
using innodb_file_per_table=0.

Since there should be no benefit of setting innodb_file_per_table=0,
the parameter should be deprecated. The default value has been
innodb_file_per_table=1 since MySQL 5.6 and MariaDB Server 10.0.

64071d3... by Marko Mäkelä

Merge 10.10 into 10.11

3ff4eb0... by Marko Mäkelä

Merge 10.9 into 10.10

23f705f... by Marko Mäkelä

Merge 10.8 into 10.9

b3c2543... by Marko Mäkelä

Merge 10.7 into 10.8