mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug#15948818-SEMI-SYNC ENABLED MASTER CRASHES WHEN EVENT
SCHEDULER DROPS EVENTS Problem: On a semi sync enabled server (Master/Slave), if event scheduler drops an event after completion, server crashes. Analaysis: If an event is created with "ON COMPLETION NOT PRESERVE" clause, event scheduler deletes the event upon event completion(expiration) and the thread object will be destroyed. In the destructor of the thread object, mysys_var member is set to zero explicitly. Later from the same destructor call(same execution path), incase of semi sync enabled server, while cleanup is called, THD::mysys_var member is accessed by THD::enter_cond() function which causes server to crash. Fix: mysys_var should not be explicitly set to zero and also it is not required. sql/sql_class.cc: mysys_var should not be explicitly set to zero.
This commit is contained in:
24
mysql-test/include/uninstall_semisync.inc
Normal file
24
mysql-test/include/uninstall_semisync.inc
Normal file
@ -0,0 +1,24 @@
|
||||
#
|
||||
# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
--let $include_filename= uninstall_semisync.inc
|
||||
--source include/begin_include_file.inc
|
||||
|
||||
--disable_query_log
|
||||
--connection slave
|
||||
--source include/stop_slave_io.inc
|
||||
|
||||
# Uninstall rpl_semi_sync_slave first
|
||||
--disable_warnings
|
||||
UNINSTALL PLUGIN rpl_semi_sync_slave;
|
||||
|
||||
--connection master
|
||||
UNINSTALL PLUGIN rpl_semi_sync_master;
|
||||
--enable_warnings
|
||||
|
||||
--connection slave
|
||||
START SLAVE IO_THREAD;
|
||||
--source include/wait_for_slave_io_to_start.inc
|
||||
--enable_query_log
|
||||
|
||||
--source include/end_include_file.inc
|
Reference in New Issue
Block a user