1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Marko Mäkelä 3b4b512d8e MDEV-31234 fixup: Allow innodb_undo_log_truncate=ON after upgrade
trx_purge_truncate_history(): Relax a condition that would prevent
undo log truncation if the undo log tablespaces were "contaminated"
by the bug that commit e0084b9d31 fixed.
That is, trx_purge_truncate_rseg_history() would have invoked
flst_remove() on TRX_RSEG_HISTORY but not reduced TRX_RSEG_HISTORY_SIZE.

To avoid any regression with normal operation, we implement this
fixup during slow shutdown only. The condition on the history list
being empty is necessary: without it, in the test
innodb.undo_truncate_recover there may be much fewer than the
expected 90,000 calls to row_purge() before the truncation.
That is, we would truncate the undo tablespace before actually having
processed all undo log records in it.

To truncate such "contaminated" or "bloated" undo log tablespaces
(when using innodb_undo_tablespaces=2 or more)
you can execute the following SQL:

BEGIN;INSERT mysql.innodb_table_stats VALUES('','',DEFAULT,0,0,0);ROLLBACK;
SET GLOBAL innodb_undo_log_truncate=ON, innodb_fast_shutdown=0;
SHUTDOWN;

The first line creates a dummy InnoDB transaction, to ensure that there
will be some history to be purged during shutdown and that the undo
tablespaces will be truncated.
2023-06-03 10:59:53 +02:00
2023-04-24 12:43:47 +02:00
2023-01-28 18:22:55 +01:00
2023-01-27 13:54:14 +01:00
2023-04-24 12:43:47 +02:00
2022-09-26 13:34:38 +03:00
2023-04-24 12:43:47 +02:00
2023-05-02 20:13:48 +02:00
2023-04-27 09:39:53 +03:00
2020-12-16 08:07:04 +11:00
2023-05-05 10:50:02 +02:00
2023-04-03 09:34:26 +02:00
2023-02-10 12:02:11 +02:00
2023-04-24 12:43:47 +02:00
2023-05-05 10:50:02 +02:00
2020-07-02 09:41:44 +03:00
2022-10-25 11:26:37 +03:00
2023-01-27 12:43:38 +11:00
2022-10-26 15:26:06 +02:00
2023-02-10 12:02:11 +02:00
2023-04-20 17:06:19 +02:00
2019-12-27 21:17:16 +02:00
2022-05-09 22:04:06 +02:00
2022-07-04 19:24:58 +02:00
2023-01-03 08:47:08 +11:00
2022-10-12 11:29:32 +03:00
2022-10-06 08:29:56 +03:00
2021-09-22 07:15:08 +02:00
2019-05-11 21:29:06 +03:00
2023-01-25 16:44:26 +11:00
2021-09-22 07:15:08 +02:00
2019-05-13 17:54:04 +03:00
2023-03-09 15:32:32 +01:00

Code status:

  • Appveyor CI status ci.appveyor.com

MariaDB: The open source relational database

MariaDB was designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.

MariaDB is brought to you by the MariaDB Foundation and the MariaDB Corporation. Please read the CREDITS file for details about the MariaDB Foundation, and who is developing MariaDB.

MariaDB is developed by many of the original developers of MySQL who now work for the MariaDB Corporation, the MariaDB Foundation and by many people in the community.

MySQL, which is the base of MariaDB, is a product and trademark of Oracle Corporation, Inc. For a list of developers and other contributors, see the Credits appendix. You can also run 'SHOW authors' to get a list of active contributors.

A description of the MariaDB project and a manual can be found at:

https://mariadb.org

https://mariadb.com/kb/en/

https://mariadb.com/kb/en/mariadb-vs-mysql-features/

https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/

https://mariadb.com/kb/en/new-and-old-releases/

Help

More help is available from the Maria Discuss mailing list https://launchpad.net/~maria-discuss, MariaDB's Zulip instance, https://mariadb.zulipchat.com/

Live QA for beginner contributors

MariaDB has a dedicated time each week when we answer new contributor questions live on Zulip. From 8:00 to 10:00 UTC on Mondays, and 10:00 to 12:00 UTC on Thursdays, anyone can ask any questions theyd like, and a live developer will be available to assist.

New contributors can ask questions any time, but we will provide immediate feedback during that interval.

Licensing


NOTE:

MariaDB is specifically available only under version 2 of the GNU General Public License (GPLv2). (I.e. Without the "any later version" clause.) This is inherited from MySQL. Please see the README file in the MySQL distribution for more information.

License information can be found in the COPYING file. Third party license information can be found in the THIRDPARTY file.


Bug Reports

Bug and/or error reports regarding MariaDB should be submitted at: https://jira.mariadb.org

For reporting security vulnerabilities see: https://mariadb.org/about/security-policy/

The code for MariaDB, including all revision history, can be found at: https://github.com/MariaDB/server

Description
Сервер MariaDB - это разработанный сообществом форк сервера MySQL
https://mariadb.org Readme 2 GiB
Languages
MariaDB\ 71.9%
C++ 16.2%
C 10.5%
Shell 0.5%
Perl 0.4%
Other 0.3%