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.
  • MariaDB\ 71.8%
  • C++ 16.4%
  • C 10.4%
  • Shell 0.5%
  • Perl 0.4%
  • Other 0.3%
Find a file
Andrei Elkin d38e62634f Bug #38694 Race condition in replication thread shutdown
The issue of the current bug is unguarded access to mi->slave_running 
by the shutdown thread calling end_slave() that is bug#29968 
(alas happened not to be cross-linked with the current bug)

Fixed:

with removing the unguarded read of the running status
and perform reading it in terminate_slave_thread()
at time run_lock is taken (mostly bug#29968 backporting, still with some
improvements over that patch - see the error reporting from 
terminate_slave_thread()).
Issue of bug#38716 is fixed here for 5.0 branch as well.

Note:

There has been a separate artifact identified - 
a race condition between init_slave() and  end_slave() - 
reported as  Bug#44467.

mysql-test/r/rpl_bug38694.result:
  a new results file is added.
mysql-test/t/rpl_bug38694-slave.opt:
  simulating delay at slave threads shutdown.
mysql-test/t/rpl_bug38694.test:
  A new test to check if a delay at the termination phase of slave threads
  could cause any issue.
sql/slave.cc:
  The unguarded read of the running status is removed. Its reading is done in
  terminate_slave_thread() at time run_lock is taken;
  Calling terminate_slave_threads(skip_lock := !need_slave_mutex) in the failing branch of start_slave_threads() which is bug#38716 issue.
sql/slave.h:
  removing terminate_slave_thread() out of the global interface scope.
2009-04-28 14:46:07 +03:00
.bzr-mysql tree name changed 2009-03-27 16:29:56 +02:00
bdb Tool fix, needed for "compile-dist" to succeed on Solaris: 2009-01-13 14:52:22 +01:00
BitKeeper Fix bug in BK trigger for sending changes to InnoDB devs. 2008-01-24 00:31:47 -07:00
BUILD Backport of a 5.0.74 fix into 5.0.72sp1: 2009-01-12 16:46:19 +01:00
client Bug#41268 Help Text for \c is misleading in client command line interface(addon) 2009-04-14 19:16:30 +05:00
cmd-line-utils Bug#42430 Final commit to 5.0-bugteam 2009-04-16 11:40:51 +02:00
config/ac-macros Accept wide-character version of libncurses also. 2009-03-11 11:46:21 -04:00
dbug Bug#35986 valgrind warning in DbugParse for empty string in SET GLOBAL DEBUG="" 2008-05-02 12:49:31 +02:00
Docs Makefile.am, configure.in: 2007-11-22 17:48:40 +01:00
extra auto-merge 2009-03-19 09:44:58 -04:00
heap Bug#29125 Windows Server X64: so many compiler warnings 2009-02-10 17:47:54 -05:00
include auto-merge -build into -bugteam 2009-04-01 22:02:04 -06:00
innobase auto-merge 2009-03-19 09:44:58 -04:00
libmysql auto-merge 2009-03-19 09:44:58 -04:00
libmysql_r my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
libmysqld Bug #25097 mysql_server_init fails silently if no errmsg.sys is present. 2008-02-27 12:42:43 +04:00
man Bug#37098 Get rid of "Installed (but unpackaged)" files in the RPM build 2008-08-25 21:07:41 +02:00
myisam Bug #43950 myisamchk shows negative value for 'Max keyfile length' 2009-04-08 16:45:43 +05:30
myisammrg BUG#32047 - 'Spurious' errors while opening MERGE tables 2009-02-04 15:46:23 +04:00
mysql-test Bug #38694 Race condition in replication thread shutdown 2009-04-28 14:46:07 +03:00
mysys Bug#43461: invalid comparison with string literal in default.c 2009-03-19 17:20:15 -03:00
ndb Bug#42430 Final commit to 5.0-bugteam 2009-04-16 11:40:51 +02:00
netware Handle renamed nwbootstrap -> nwbuild 2009-02-06 15:07:45 +01:00
os2 Avoid the name conflict between the system-provided "md5.h" and the MySQL one 2007-07-19 14:14:03 +02:00
pstack my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
regex my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
scripts Bug#43876: mysqld_multi introduces --no-defaults which screws up my system 2009-04-02 11:29:28 -04:00
server-tools Bug#29125 Windows Server X64: so many compiler warnings 2009-02-10 17:47:54 -05:00
sql Bug #38694 Race condition in replication thread shutdown 2009-04-28 14:46:07 +03:00
sql-bench Remove outdated and now useless TODO file from sql-bench. Requested by sales. 2009-03-11 14:52:53 -06:00
sql-common Bug#29125 Windows Server X64: so many compiler warnings 2009-02-10 17:47:54 -05:00
SSL SSL/Makefile.am mysql-test/Makefile.am: 2007-07-27 17:39:07 +02:00
strings merging with mysql-5.0-bugteam 2009-03-20 11:42:55 +05:30
support-files Merge a polishing of an old bug fix, 2009-03-30 16:09:37 +02:00
tests auto-merge 2009-03-19 09:44:58 -04:00
tools Bug #42434: license of mysys MD5 implementation is not GPL-compatible 2009-03-09 20:57:03 +02:00
VC++Files Fix for bug #32221: bug25714, mytest, mysql_client_test complaints and 2007-11-19 18:59:25 +03:00
vio Bug#33899: Deadlock in mysql_real_query with shared memory connections 2009-03-26 20:17:27 -03:00
win Merge main 5.0 branch -> 5.0-build (team tree). 2008-10-04 17:38:24 +02:00
zlib The header "config.h" needs to be included "early" to control other headers. 2008-10-13 14:23:39 +02:00
.bzrignore patch for bug#32496 (2nd) with ansi conformant and Mysql test case. 2007-11-26 21:28:01 +01:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt Bug#43082: mysqld 32 bit cannot use big buffers due to 2GB 2009-02-25 16:57:49 +01:00
configure.in Automerge. 2009-03-25 16:19:53 +03:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
EXCEPTIONS-CLIENT EXCEPTIONS-CLIENT: 2007-03-14 18:28:16 +01:00
INSTALL-SOURCE Makefile.am: 2007-11-02 12:59:45 +01:00
INSTALL-WIN-SOURCE Makefile.am: 2007-11-02 12:59:45 +01:00
Makefile.am Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds 2008-06-02 21:57:11 +02:00
README make_binary_distribution.sh: 2006-11-07 22:26:37 +01:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file and
  the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading chapter.
- For the new features/bugfix history, see the Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the Problems
  and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.