Commit cd64ea0e authored by unknown's avatar unknown

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.
parent b15e6273
...@@ -3717,15 +3717,12 @@ err: ...@@ -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: ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment