MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
Marko Mäkelä e9735a8185 MDEV-25975 innodb_disallow_writes causes shutdown to hang
We will remove the parameter innodb_disallow_writes because it is badly
designed and implemented. The parameter was never allowed at startup.
It was only internally used by Galera snapshot transfer.
If a user executed
SET GLOBAL innodb_disallow_writes=ON;
the server could hang even on subsequent read operations.

During Galera snapshot transfer, we will block writes
to implement an rsync friendly snapshot, as follows:

sst_flush_tables() will acquire a global lock by executing
FLUSH TABLES WITH READ LOCK, which will block any writes
at the high level.

sst_disable_innodb_writes(), invoked via ha_disable_internal_writes(true),
will suspend or disable InnoDB background tasks or threads that could
initiate writes. As part of this, log_make_checkpoint() will be invoked
to ensure that anything in the InnoDB buf_pool.flush_list will be written
to the data files. This has the nice side effect that the Galera joiner
will avoid crash recovery.

The changes to sql/wsrep.cc and to the tests are based on a prototype
that was developed by Jan Lindström.

Reviewed by: Jan Lindström
2022-04-06 08:06:49 +03:00
BUILD Merge 10.2 into 10.3 2022-03-29 09:53:15 +03:00
client Merge 10.2 into 10.3 2022-03-29 09:53:15 +03:00
cmake MDEV-28032 "git submodule update --depth 1" may fail with old Git 2022-03-19 09:38:57 +01:00
dbug Merge 10.2 into 10.3 2021-05-24 09:38:49 +03:00
debian Merge 10.2 (part) into 10.3 2022-03-15 16:44:52 +11:00
Docs
extra MDEV-25975 innodb_disallow_writes causes shutdown to hang 2022-04-06 08:06:49 +03:00
include Merge 10.2 into 10.3 2022-04-06 08:06:35 +03:00
libmariadb@f6c3d9fd2a new CC 2022-01-26 10:42:01 +01:00
libmysqld Merge branch '10.2' into 10.3 2022-01-29 15:41:05 +01:00
libservices
man Merge 10.2 into 10.3 2022-02-17 10:53:58 +02:00
mysql-test MDEV-25975 innodb_disallow_writes causes shutdown to hang 2022-04-06 08:06:49 +03:00
mysys MDEV-28178 Windows : sporadic ER_ERROR_ON_RENAME .. (errno: 13 "Permission denied") 2022-03-28 12:46:35 +02:00
mysys_ssl Merge branch '10.2' into 10.3 2022-01-29 15:41:05 +01:00
pcre Merge branch '10.2' into 10.3 2021-07-29 13:51:02 +02:00
plugin Adding a "const" qualifier to arguments of create_func(), create_native() etc 2022-04-04 09:50:32 +04:00
randgen/conf
scripts MDEV-25975 innodb_disallow_writes causes shutdown to hang 2022-04-06 08:06:49 +03:00
sql MDEV-25975 innodb_disallow_writes causes shutdown to hang 2022-04-06 08:06:49 +03:00
sql-bench
sql-common Merge branch '10.2' into 10.3 2020-09-28 17:27:42 +05:30
storage MDEV-25975 innodb_disallow_writes causes shutdown to hang 2022-04-06 08:06:49 +03:00
strings Merge 10.2 into 10.3 2022-03-29 09:53:15 +03:00
support-files Merge 10.2 into 10.3 2022-02-17 10:53:58 +02:00
tests Merge branch '10.2' into 10.3 2022-01-29 15:41:05 +01:00
unittest Merge branch '10.2' into 10.3 2021-12-06 22:23:07 +01:00
vio Merge branch 10.2 into 10.3 2021-12-23 14:14:04 +01:00
win Merge 10.2 into 10.3 2021-11-17 13:55:54 +02:00
wsrep cleanup: use predefined CMAKE_DL_LIBS 2020-10-23 13:37:26 +02:00
zlib Merge branch '10.2' into 10.3 2020-12-23 19:28:02 +01:00
.clang-format
.gitattributes MDEV-27494 Rename .ic files to .inl 2022-01-17 16:41:51 +01:00
.gitignore Merge 10.2 into 10.3 2021-10-13 11:38:21 +03:00
.gitmodules
.travis.compiler.sh
.travis.yml
appveyor.yml Windows, appveyor - use VS2022 2022-01-09 13:56:50 +01:00
BUILD-CMAKE
CMakeLists.txt Merge branch '10.2' into 10.3 2022-01-29 15:41:05 +01:00
config.h.cmake Merge 10.2 into 10.3 2021-03-27 16:11:26 +02:00
configure.cmake improve checks for libatomic linking 2021-12-30 16:20:29 +11:00
COPYING
CREDITS Update contributors 2022-03-23 10:47:27 +11:00
INSTALL-SOURCE
INSTALL-WIN-SOURCE
KNOWN_BUGS.txt
README.md Remove Travis CI status 2021-06-21 08:18:34 +03:00
THIRDPARTY
VERSION bump the VERSION 2022-02-12 15:43:53 -05:00

Code status:

  • Appveyor CI status ci.appveyor.com

MariaDB: drop-in replacement for MySQL

MariaDB is 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. 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 Foundation and the MariaDB Corporation, 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-features/

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

As MariaDB is a full replacement of MySQL, the MySQL manual at http://dev.mysql.com/doc is generally applicable.

Help:

More help is available from the Maria Discuss mailing list https://launchpad.net/~maria-discuss and the #maria IRC channel on Freenode.

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/

Bugs in the MySQL code can also be submitted at: https://bugs.mysql.com

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