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
Daniele Sciascia 362c0950e8 MDEV-32549 Cluster inconsistent after SAVEPOINT is rolled back
Attempting to set a SAVEPOINT when one of the involved storage engines
does not support savepoints, raises an error, and results in statement
rollback. If Galera is enabled with binlog emulation, the above
scenario was not handled correctly, and resulted in cluster wide
inconsistency.

The problem was in wsrep_register_binlog_handler(), which is called
towards the beginning of SAVEPOINT execution. This function is
supposed to mark the beginning of statement position in trx cache
through `set_prev_position()`. However, it did so only on condition
that `get_prev_position()` returns `MY_OFF_T_UNDEF`.
This before statement position is typically reset to undefined at the
end of statement in `binlog_commit()` / `binlog_rollback()`.
However that's not the case with Galera and binlog emulation, for
which binlog commit / rollback hooks are not called due to the
optimization that avoids internal 2PC (MDEV-16509).

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
2023-12-22 04:49:57 +01:00
BUILD Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
client Merge 10.4 into 10.5 2023-12-19 18:30:58 +02:00
cmake Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
dbug
debian Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
Docs
extra MDEV-31905 GTID inconsistency 2023-12-22 00:10:23 +01:00
include MDEV-31905 GTID inconsistency 2023-12-22 00:10:23 +01:00
libmariadb@ae565eea90
libmysqld Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
libservices Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
man
mysql-test MDEV-32549 Cluster inconsistent after SAVEPOINT is rolled back 2023-12-22 04:49:57 +01:00
mysys Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
mysys_ssl
plugin Merge 10.4 into 10.5 2023-12-18 08:59:07 +02:00
randgen/conf
scripts MDEV-31905 GTID inconsistency 2023-12-22 00:10:23 +01:00
sql MDEV-32549 Cluster inconsistent after SAVEPOINT is rolled back 2023-12-22 04:49:57 +01:00
sql-bench
sql-common Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
storage MDEV-33046 fixup. Do not try to schedule timer without dict_stats_start() 2023-12-21 20:20:47 +01:00
strings Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
support-files Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
tests Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
tpool MDEV-32861 InnoDB hangs when running out of I/O slots 2023-11-22 16:54:41 +02:00
unittest Merge branch '10.4' into 10.5 2023-12-02 01:02:50 +01:00
vio
win
wsrep-lib@a5d95f0175 galera: wsrep-lib submodule update 2023-11-21 08:02:23 +01:00
zlib
.clang-format
.gitattributes
.gitignore
.gitlab-ci.yml
.gitmodules
appveyor.yml
BUILD-CMAKE
CMakeLists.txt
config.h.cmake
configure.cmake
CONTRIBUTING.md
COPYING
CREDITS
INSTALL-SOURCE
INSTALL-WIN-SOURCE
KNOWN_BUGS.txt
README.md
THIRDPARTY
VERSION

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