Skip to content

Commit e7f55fd

Browse files
committed
Removed wrong assert
The following is an updated commit message for the following commit that was pushed before I had a chance to update the commit message: c5e25c8 Fixed dead locks when doing stop slave while slave was starting. - Added a separate lock for protecting start/stop/reset of a specific slave. This solves some possible dead locks when one calls stop slave while the slave is starting as the old run_locks was over used for other things. - Set hash->records to 0 before calling free of all hash elements. This was set to stop concurrent threads to loop over hash elements and access members that was already freed. This was a problem especially in start_all_slaves/stop_all_slaves as the mutex protecting the hash was temporarily released while a slave was started/stopped. - Because of change to hash->records during hash_reset(), any_slave_sql_running() will return 1 during shutdown as one can't loop over master_info_index->master_info_hash while hash_reset() of it is in progress. This also fixes a potential old bug in any_slave_sql_running() where during shutdown and ~Master_info_index(), my_hash_free() we could potentially try to access elements that was already freed.
1 parent 2c2bd8c commit e7f55fd

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

sql/rpl_parallel.cc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,11 +1300,10 @@ handle_rpl_parallel_thread(void *arg)
13001300
*/
13011301
rpl_parallel_entry *e= rpt->current_entry;
13021302
/*
1303-
Ensure that we will unblock rpl_pause_for_ftrwl()
1304-
e->pause_sub_id may be LONGLONG_MAX if rpt->current_entry has changed
1303+
Wait for rpl_unpause_after_ftwrl() to wake us up.
1304+
Note that rpl_pause_for_ftwrl() may wait for 'e->pause_sub_id'
1305+
to change. This should happen eventually in finish_event_group()
13051306
*/
1306-
DBUG_ASSERT(e->pause_sub_id == (uint64)ULONGLONG_MAX ||
1307-
e->last_committed_sub_id >= e->pause_sub_id);
13081307
mysql_mutex_lock(&e->LOCK_parallel_entry);
13091308
mysql_mutex_unlock(&rpt->LOCK_rpl_thread);
13101309
if (rpt->pause_for_ftwrl)

0 commit comments

Comments
 (0)