slave.cc:
BUG#20850: Assert during slave shutdown in many rpl_* tests This patch has already been applied to 5.1. sql/slave.cc: BUG#20850: Assert during slave shutdown in many rpl_* tests This patch has already been applied to 5.1.
This commit is contained in:
parent
b15e62733d
commit
cd64ea0eab
@ -3717,15 +3717,12 @@ err:
|
|||||||
write_ignored_events_info_to_relay_log(thd, mi);
|
write_ignored_events_info_to_relay_log(thd, mi);
|
||||||
thd->proc_info = "Waiting for slave mutex on exit";
|
thd->proc_info = "Waiting for slave mutex on exit";
|
||||||
pthread_mutex_lock(&mi->run_lock);
|
pthread_mutex_lock(&mi->run_lock);
|
||||||
mi->slave_running = 0;
|
|
||||||
mi->io_thd = 0;
|
|
||||||
|
|
||||||
/* Forget the relay log's format */
|
/* Forget the relay log's format */
|
||||||
delete mi->rli.relay_log.description_event_for_queue;
|
delete mi->rli.relay_log.description_event_for_queue;
|
||||||
mi->rli.relay_log.description_event_for_queue= 0;
|
mi->rli.relay_log.description_event_for_queue= 0;
|
||||||
// TODO: make rpl_status part of MASTER_INFO
|
// TODO: make rpl_status part of MASTER_INFO
|
||||||
change_rpl_status(RPL_ACTIVE_SLAVE,RPL_IDLE_SLAVE);
|
change_rpl_status(RPL_ACTIVE_SLAVE,RPL_IDLE_SLAVE);
|
||||||
mi->abort_slave = 0; // TODO: check if this is needed
|
|
||||||
DBUG_ASSERT(thd->net.buff != 0);
|
DBUG_ASSERT(thd->net.buff != 0);
|
||||||
net_end(&thd->net); // destructor will not free it, because net.vio is 0
|
net_end(&thd->net); // destructor will not free it, because net.vio is 0
|
||||||
close_thread_tables(thd, 0);
|
close_thread_tables(thd, 0);
|
||||||
@ -3733,8 +3730,11 @@ err:
|
|||||||
THD_CHECK_SENTRY(thd);
|
THD_CHECK_SENTRY(thd);
|
||||||
delete thd;
|
delete thd;
|
||||||
pthread_mutex_unlock(&LOCK_thread_count);
|
pthread_mutex_unlock(&LOCK_thread_count);
|
||||||
pthread_cond_broadcast(&mi->stop_cond); // tell the world we are done
|
mi->abort_slave= 0;
|
||||||
|
mi->slave_running= 0;
|
||||||
|
mi->io_thd= 0;
|
||||||
pthread_mutex_unlock(&mi->run_lock);
|
pthread_mutex_unlock(&mi->run_lock);
|
||||||
|
pthread_cond_broadcast(&mi->stop_cond); // tell the world we are done
|
||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
if (abort_slave_event_count && !events_till_abort)
|
if (abort_slave_event_count && !events_till_abort)
|
||||||
goto slave_begin;
|
goto slave_begin;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user