Details
-
Task
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
None
Description
Now that MDEV-19229 allows the parameter innodb_undo_tablespaces to be increased from its current default value 0, we should enable multiple undo tablespaces by default. Likewise, we should set innodb_undo_log_truncate=ON by default, so that the space occupied by possible bursts of undo log records will be eventually reclaimed.
Edit: Based on some preliminary performance test results presented by axel, innodb_undo_log_truncate=ON seems to reduce throughput. That setting can be changed by SET GLOBAL while the server is running. The main thing here is to run the server with multiple tablespaces by default, so that it will be possible to truncate the undo tablespaces while the server is running.
Space that was occupied by undo logs in the system tablespace will not be reclaimed until MDEV-14795 has been implemented.
Attachments
Issue Links
- causes
-
MDEV-32974 Member fails to join due to old seqno in GTID
-
- Closed
-
- is blocked by
-
MDEV-19229 Allow innodb_undo_tablespaces to be changed after database creation
-
- Closed
-
-
MDEV-29999 innodb_undo_log_truncate=ON is not crash safe
-
- Closed
-
-
MDEV-30119 INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION.NAME is NULL for undo tablespaces
-
- Closed
-
-
MDEV-30122 mariabackup.skip_innodb crashes when innodb_undo_tablespaces > 0
-
- Closed
-
-
MDEV-30144 Incremental prepare fails when innodb_undo_tablespaces > 0
-
- Closed
-
-
MDEV-30157 Galera SST doesn't properly handle undo* files from innodb
-
- Closed
-
-
MDEV-30158 InnoDB fails to start ther server 10.11 when innodb_undo_tablespaces mismatch
-
- Closed
-
-
MDEV-30180 Server hang with innodb_undo_log_truncate=ON
-
- Closed
-
- is duplicated by
-
MDEV-31760 innodb_undo_tablespaces would be better default >= 2
-
- Closed
-
- relates to
-
MDEV-14795 InnoDB system tablespace cannot be shrunk
-
- Closed
-
-
MDEV-30179 mariabackup --backup fails with FATAL ERROR: ... failed to copy datafile.
-
- Closed
-
-
MDEV-30479 OPT_PAGE_CHECKSUM mismatch during recovery after innodb_undo_log_truncate=ON
-
- Closed
-
-
MDEV-35689 InnoDB system tables cannot be optimized or defragmented
-
- Stalled
-
-
MDEV-21952 ibdata1 file size growing in MariaDB
-
- Closed
-
-
MDEV-32141 More fully document innodb_undo_tablespaces=3 by default
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue is blocked by |
Link |
This issue is blocked by |
Link |
This issue relates to |
Link |
This issue is blocked by |
Link |
This issue relates to |
Link |
This issue is blocked by |
Assignee | Marko Mäkelä [ marko ] | Thirunarayanan Balathandayuthapani [ thiru ] |
Link |
This issue is blocked by |
Link |
This issue is blocked by |
Assignee | Thirunarayanan Balathandayuthapani [ thiru ] | Marko Mäkelä [ marko ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | In Testing [ 10301 ] |
Assignee | Marko Mäkelä [ marko ] | Matthias Leich [ mleich ] |
Link |
This issue is blocked by |
Link |
This issue is blocked by |
Link |
This issue is blocked by |
Link |
This issue relates to |
Link |
This issue is blocked by |
Status | In Testing [ 10301 ] | Stalled [ 10000 ] |
Assignee | Matthias Leich [ mleich ] | Marko Mäkelä [ marko ] |
Description |
Now that |
Now that Edit: Based on some preliminary performance test results presented by [~axel], {{innodb_undo_log_truncate=ON}} seems to reduce throughput. That setting can be changed by {{SET GLOBAL}} while the server is running. The main thing here is to run the server with multiple tablespaces by default, so that it will be possible to truncate the undo tablespaces while the server is running. Space that was occupied by undo logs in the system tablespace will not be reclaimed until |
Summary | Set innodb_undo_log_truncate=ON and innodb_undo_tablespaces>2 by default | Set innodb_undo_tablespaces=3 by default |
issue.field.resolutiondate | 2023-01-13 10:58:23.0 | 2023-01-13 10:58:23.783 |
Fix Version/s | 11.0.1 [ 28548 ] | |
Fix Version/s | 11.0 [ 28320 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Link |
This issue relates to |
Labels | performance | Preview_11.0 performance |
Link | This issue blocks TODO-4056 [ TODO-4056 ] |
Labels | Preview_11.0 performance | Cloned |
Link | This issue blocks TODO-4071 [ TODO-4071 ] |
Labels | Cloned |
Link |
This issue is duplicated by |
Link |
This issue relates to |
Link |
This issue causes |
Link | This issue relates to MDEV-35689 [ MDEV-35689 ] |
It turns out that one test hangs when using multiple undo tablespaces:
./mtr --mysqld=--innodb-undo-tablespaces=3 encryption.encrypt_and_grep
After I forcibly killed the server processes, I got the following output:
10.6 6d40274f65b8d145fbf496e9b1b1d46f258de227
CURRENT_TEST: encryption.encrypt_and_grep
mysqltest: In included file "./include/wait_condition.inc":
included from /mariadb/10.6/mysql-test/suite/encryption/t/encrypt_and_grep.test at line 65:
At line 54: query 'let $success= `$wait_condition`' failed with wrong errno <Unknown> (2013): 'Lost connection to server during query', instead of (0)...
…
2022-11-24 13:42:23 4 [Note] InnoDB: Deleting the meta-data file './test/t1.cfg'
2022-11-24 13:42:23 4 [Note] InnoDB: Deleting the meta-data file './test/t2.cfg'
2022-11-24 13:42:23 4 [Note] InnoDB: Deleting the meta-data file './test/t3.cfg'
2022-11-24 13:42:23 4 [Note] InnoDB: Resuming purge
----------SERVER LOG END-------------
We need to analyze this deeper to understand if this is to be expected (and the test merely needs to be adjusted), or a genuine code bug.