~maria-captains/maria/10.0

  • Committer: Kristian Nielsen
  • Date: 2014-11-13 09:09:46 UTC
  • Revision ID: knielsen@knielsen-hq.org-20141113090946-opxrwnvgdxekz6eb
MDEV-6718: Server crashed in Gtid_log_event::Gtid_log_event with parallel replication

The bug occured in parallel replication when re-trying transactions that
failed due to deadlock. In this case, the relay log file is re-opened and the
events are read out again. This reading requires a format description event of
the appropriate version. But the code was using a description event stored in
rli, which is not thread-safe. This could lead to various rare races if the
format description event was replaced by the SQL driver thread at the exact
moment where a worker thread was trying to use it.

The fix is to instead make the retry code create and maintain its own format
description event. When the relay log file is opened, we first read the format
description event from the start of the file, before seeking to the current
position. This now uses the same code as when the SQL driver threads starts
from a given relay log position. This also makes sure that the correct format
description event version will be used in cases where the version of the
binlog could change during replication.
Filename Latest Rev Last Changed Committer Comment Size
..
BUILD 2 24 years ago bk at mysql Import changeset Diff
client 2 24 years ago bk at mysql Import changeset Diff
cmake 2875.38.1 15 years ago Vladislav Vaintroub WL#5161 : Cross-platform build with CMake Diff
cmd-line-utils 1403.60.1 21 years ago vva at r18 changes for readline/libedit configuration Diff
dbug 2 24 years ago bk at mysql Import changeset Diff
debian 3229 12 years ago knielsen at knielsen-hq Initial draft for building .deb packages for Maria Diff
Docs 2 24 years ago bk at mysql Import changeset Diff
extra 2 24 years ago bk at mysql Import changeset Diff
include 4190 10 years ago Sergei Golubchik null-merge from perfschema-5.6 merge tree (only ne Diff
libmysql 2 24 years ago bk at mysql Import changeset Diff
libmysqld 669.1.1 23 years ago monty at mysql Added all changes from old 4.0 version: PSTACK, li Diff
libservices 2875.3.35 15 years ago Sergei Golubchik WL#4903 Plugin Service API part I (mysql-next-mr b Diff
man 2 24 years ago bk at mysql Import changeset Diff
mysql-test 4190 10 years ago Sergei Golubchik null-merge from perfschema-5.6 merge tree (only ne Diff
mysys 2 24 years ago bk at mysql Import changeset Diff
mysys_ssl 3492.3.1 11 years ago Michael Widenius Temporary commit of 10.0-merge Diff
packaging 2875.157.1 14 years ago Vladislav Vaintroub Add components to INSTALL, some eraly Wix support Diff
pcre 4228 10 years ago Sergei Golubchik pcre-8.34 mergetree initial merge Diff
plugin 2003 19 years ago svoj at mysql WL#2575 - Fulltext: Parser plugin for FTS Manual m Diff
randgen 2502.163.9 14 years ago sanja at askmonty Group commit for maria engine. Diff
scripts 2 24 years ago bk at mysql Import changeset Diff
sql 2 24 years ago bk at mysql Import changeset Diff
sql-bench 2646.1.7 16 years ago Chad MILLER Merge from 5.0. Update version. Diff
sql-common 1504.26.1 21 years ago hf at r18 SCRUM Protocol_cursor class and sql-common/ direct Diff
storage 4190 10 years ago Sergei Golubchik null-merge from perfschema-5.6 merge tree (only ne Diff
strings 2 24 years ago bk at mysql Import changeset Diff
support-files 2 24 years ago bk at mysql Import changeset Diff
tests 2 24 years ago bk at mysql Import changeset Diff
unittest 2119.397.1 18 years ago mats at mysql WL#3206 (Add unit tests): An implementation of the Diff
vio 2 24 years ago bk at mysql Import changeset Diff
win 2273.23.37 18 years ago cmiller at cornsilk Merge zippy.cornsilk.net:/home/cmiller/work/mysql/ Diff
zlib 973.110.6 22 years ago monty at mysql merge (remove conflicting zip files) Diff
.bzrignore 4435.1.1 10 years ago Sergei Golubchik 5.5.40+ merge 29.4 KB Diff Download File
BUILD-CMAKE 3413.1.30 12 years ago Daniel Bartholomew various documentation updates 8.3 KB Diff Download File
CMakeLists.txt 4435.1.1 10 years ago Sergei Golubchik 5.5.40+ merge 17.7 KB Diff Download File
config.h.cmake 4435.1.1 10 years ago Sergei Golubchik 5.5.40+ merge 19.6 KB Diff Download File
configure.cmake 4382 10 years ago Sergei Golubchik typos in cmake -DWITH_ATOMIC_OPS=xxx 32.2 KB Diff Download File
COPYING 2661.523.21 14 years ago Joerg Bruehe Use a new version of "COPYING", the GPL text. Thi 17.5 KB Diff Download File
COPYING.LESSER 2502.531.2 13 years ago knielsen at knielsen-hq MWL#192: non-blocking client API, after-review fix 25.9 KB Diff Download File
CREDITS 4130.1.2 10 years ago Michael Widenius Updated sponsors and authors 1.5 KB Diff Download File
EXCEPTIONS-CLIENT 3413.21.658 10 years ago Sergei Golubchik MDEV-5645 MariaDB-5.5.35 - references are made to 8 KB Diff Download File
INSTALL-SOURCE 4108 10 years ago Sergei Golubchik 5.5 merge 110 bytes Diff Download File
INSTALL-WIN-SOURCE 4108 10 years ago Sergei Golubchik 5.5 merge 130 bytes Diff Download File
KNOWN_BUGS.txt 3413.1.30 12 years ago Daniel Bartholomew various documentation updates 1.5 KB Diff Download File
README 4108 10 years ago Sergei Golubchik 5.5 merge 88.7 KB Diff Download File
TODO 3413.52.58 11 years ago Andrew McDonnell Merge from maria/10.0 and latets fixes 2.2 KB Diff Download File
VERSION 4471 10 years ago Sergei Golubchik 5.5 merge 68 bytes Diff Download File