1. 14 Oct, 2016 3 commits
    • Kristian Nielsen's avatar
      MDEV-7145: Delayed replication, fixing test failures. · a9fb480f
      Kristian Nielsen authored
      Two merge error fixed, and testsuite updated to removed some other
      test failues.
      Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
      a9fb480f
    • Kristian Nielsen's avatar
      MDEV-7145: Delayed replication, intermediate commit. · 19abe79f
      Kristian Nielsen authored
      Initial merge of delayed replication from MySQL git.
      
      The code from the initial push into MySQL is merged, and the
      associated test case passes. A number of tasks are still pending:
      
      1. Check full test suite run for any regressions or .result file updates.
      
      2. Extend the feature to also work for parallel replication.
      
      3. There are some todo-comments about future refactoring left from
      MySQL, these should be located and merged on top.
      
      4. There are some later related MySQL commits, these should be checked
      and merged. These include:
          e134b9362ba0b750d6ac1b444780019622d14aa5
          b38f0f7857c073edfcc0a64675b7f7ede04be00f
          fd2b210383358fe7697f201e19ac9779879ba72a
          afc397376ec50e96b2918ee64e48baf4dda0d37d
      
      5. The testcase from MySQL relies heavily on sleep and timing for
      testing, and seems likely to sporadically fail on heavily loaded test
      servers in buildbot or distro build farms.
      Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
      19abe79f
    • Kristian Nielsen's avatar
      Remove unnecessary global mutex in parallel replication. · 50f19ca8
      Kristian Nielsen authored
      The function apply_event_and_update_pos() is called with the
      rli->data_lock mutex held. However, there seems to be nothing in the
      function actually needing the mutex to be held. Certainly not in the
      parallel replication case, where sql_slave_skip_counter is always 0
      since the non-zero case is handled by the SQL driver thread.
      
      So this patch makes parallel replication use a variant of
      apply_event_and_update_pos() without the need to take the
      rli->data_lock mutex. This avoids one contended global mutex for each
      event executed, which might improve performance on CPU-bound workloads
      somewhat.
      Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
      50f19ca8
  2. 08 Sep, 2016 1 commit
    • Kristian Nielsen's avatar
      Parallel replication async deadlock kill · 7e0c9de8
      Kristian Nielsen authored
      When a deadlock kill is detected inside the storage engine, the kill
      is not done immediately, to avoid calling back into the storage engine
      kill_query method with various lock subsystem mutexes held. Instead the
      kill is queued and done later by a slave background thread.
      
      This patch in preparation for fixing TokuDB optimistic parallel
      replication, as well as for removing locking hacks in InnoDB/XtraDB in
      10.2.
      
      Signed-off-by: Kristian Nielsen <knielsen at knielsen-hq.org>
      7e0c9de8
  3. 29 Aug, 2016 2 commits
  4. 27 Aug, 2016 1 commit
  5. 26 Aug, 2016 3 commits
  6. 25 Aug, 2016 4 commits
  7. 24 Aug, 2016 6 commits
  8. 23 Aug, 2016 4 commits
  9. 22 Aug, 2016 6 commits
  10. 21 Aug, 2016 10 commits