[MDEV-29986] Set innodb_undo_tablespaces=3 by default Created: 2022-11-09 Updated: 2024-01-12 Resolved: 2023-01-13 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Fix Version/s: | 11.0.1 |
| Type: | Task | Priority: | Blocker |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
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 |
| Comments |
| Comment by Marko Mäkelä [ 2022-11-24 ] | |||||||||||||
|
It turns out that one test hangs when using multiple undo tablespaces:
After I forcibly killed the server processes, I got the following output:
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. | |||||||||||||
| Comment by Marko Mäkelä [ 2022-11-24 ] | |||||||||||||
|
Apart from encryption, there were some issues with backup as well. | |||||||||||||
| Comment by Marko Mäkelä [ 2022-11-28 ] | |||||||||||||
|
I applied thiru’s fixes. We have one more problem, which will need to be filed and fixed in 10.6, once we can reproduce it (under RQG, I suppose):
| |||||||||||||
| Comment by Marko Mäkelä [ 2022-11-30 ] | |||||||||||||
|
thiru, thank you for fixing | |||||||||||||
| Comment by Marko Mäkelä [ 2022-12-01 ] | |||||||||||||
|
A few issues were caught by the regression test suite:
| |||||||||||||
| Comment by Marko Mäkelä [ 2022-12-12 ] | |||||||||||||
|
When innodb_undo_log_truncate=ON, the size of the undo tablespace files is controlled by the parameter innodb_max_undo_log_size, which was added in MySQL 5.7.5 and MariaDB 10.2.2. Its default value was changed from 1G to 10M in MariaDB 10.2.6. It is a soft limit. | |||||||||||||
| Comment by Matthias Leich [ 2022-12-13 ] | |||||||||||||
|
|