1. 18 Dec, 2013 1 commit
    • unknown's avatar
      MDEV-5363: Make parallel replication waits killable · 86a2c03b
      unknown authored
        
      Add another test case. This one for killing a worker while its transaction is
      waiting to start until the previous transaction has committed.
      
      Fix setting reading_or_writing to 0 in worker threads so SHOW SLAVE STATUS can
      show something more useful than "Reading from net".
      86a2c03b
  2. 17 Dec, 2013 2 commits
  3. 16 Dec, 2013 1 commit
    • unknown's avatar
      MDEV-5363: Make parallel replication waits killable · f2c4765c
      unknown authored
      Fix locking bug / race introduced by previous patch: If we
      bail out of next_event() due to kill, there was a small window
      where we could exit without rli->data_lock held, causing an
      unlock-twice bug.
      f2c4765c
  4. 13 Dec, 2013 1 commit
    • unknown's avatar
      MDEV-5363: Make parallel replication waits killable · dbfe5f47
      unknown authored
      Add a test case for killing a waiting query in parallel replication.
      
      Fix several bugs found:
      
       - We should not wakeup_subsequent_commits() in ha_rollback_trans(), since we
         do not know the right wakeup_error() to give.
      
       - When a wait_for_prior_commit() is killed, we must unregister from the
         waitee so we do not race and get an extra (non-kill) wakeup.
      
       - We need to deal with error propagation correctly in queue_for_group_commit
         when one thread is killed.
      
       - Fix one locking issue in queue_for_group_commit(), we could unlock the
         waitee lock too early and this end up processing wakeup() with insufficient
         locking.
      
       - Fix Xid_log_event::do_apply_event; if commit fails it must not update the
         in-memory @@gtid_slave_pos state.
      
       - Fix and cleanup some things in the rpl_parallel.cc error handling.
      
       - Add a missing check for killed in the slave sql driver thread, to avoid a
         race.
      dbfe5f47
  5. 06 Dec, 2013 1 commit
  6. 05 Dec, 2013 1 commit
  7. 29 Nov, 2013 2 commits
  8. 27 Nov, 2013 3 commits
  9. 26 Nov, 2013 2 commits
  10. 25 Nov, 2013 4 commits
  11. 23 Nov, 2013 3 commits
  12. 22 Nov, 2013 8 commits
  13. 21 Nov, 2013 10 commits
  14. 18 Nov, 2013 1 commit
    • unknown's avatar
      MDEV-5306: Missing locking around rpl_global_gtid_binlog_state · 170e9e59
      unknown authored
      There were some places where insufficient locking between
      parallel threads could cause invalid memory accesses and
      possibly other grief.
      
      This patch adds the missing locking, and moves the locking
      into the struct rpl_binlog_state methods to make it easier
      to see that proper locking is in place everywhere.
      170e9e59