• Monty's avatar
    Removed wrong assert · e7f55fde
    Monty authored
    The following is an updated commit message for the following commit
    that was pushed before I had a chance to update the commit message:
    c5e25c8b
    
    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.
    e7f55fde
rpl_parallel.cc 82 KB