1. 05 Aug, 2015 3 commits
  2. 04 Aug, 2015 8 commits
    • Sergei Golubchik's avatar
      Merge branch 'bb-10.0-jan' into 10.0 · 1610c428
      Sergei Golubchik authored
      5.5 with our InnoDB changes
      1610c428
    • Sergei Golubchik's avatar
      correct the NULL-pointer test · fa51f70d
      Sergei Golubchik authored
      fa51f70d
    • Sergei Golubchik's avatar
      after-merge fixes · 006ffca5
      Sergei Golubchik authored
      006ffca5
    • Kristian Nielsen's avatar
      Merge fix of embedded server build. · d6d54584
      Kristian Nielsen authored
      d6d54584
    • Kristian Nielsen's avatar
      Fix embedded server build · 5ca061e6
      Kristian Nielsen authored
      5ca061e6
    • Kristian Nielsen's avatar
      Merge MDEV-8302 into 10.0 · e8e2ef47
      Kristian Nielsen authored
      e8e2ef47
    • Kristian Nielsen's avatar
      MDEV-8302: Duplicate key with parallel replication · 9b9c5e89
      Kristian Nielsen authored
      This bug is essentially another variant of MDEV-7458.
      
      If a transaction conflict caused a deadlock kill of T2 in record_gtid()
      during commit, the code would do a rollback _before_ running
      rgi->unmark_start_commit(). This creates a race where following transactions
      could start too early (before T2 has completed its transaction retry). This
      in turn could lead to replication failure, if there was a conflict that
      caused eg. duplicate key error or similar.
      
      The fix is to remove these rollbacks (in Query_log_event::do_apply_event()
      and Xid_log_event::do_apply_event(). They seem out-of-place; code in
      log_event.cc generally does not roll back on error, this is handled higher
      up.
      
      In addition, because of the extreme difficulty of reproducing bugs like
      MDEV-7458 and MDEV-8302, this patch adds some extra precations to try to
      detect (in debug builds) or prevent (in release builds) similar bugs.
      ha_rollback_trans() will now call unmark_start_commit() if needed (and
      assert in debug build when a caller does rollback without unmark first).
      
      We also add an extra check for thd->killed() so that we avoid doing
      mark_start_commit() if we already have a pending deadlock kill.
      
      And we add a missing unmark_start_commit() call in the error case, found by
      the above assertion.
      9b9c5e89
    • Jan Lindström's avatar
      Fix merge error. · d71b5840
      Jan Lindström authored
      d71b5840
  3. 03 Aug, 2015 12 commits
  4. 01 Aug, 2015 7 commits
  5. 31 Jul, 2015 10 commits