1. 15 Oct, 2018 2 commits
  2. 13 Oct, 2018 3 commits
  3. 10 Oct, 2018 1 commit
  4. 09 Oct, 2018 1 commit
  5. 08 Oct, 2018 1 commit
    • Andrei Elkin's avatar
      MDEV-17346 parallel slave start and stop races to workers disappeared · f517d8c7
      Andrei Elkin authored
      The bug appears as a slave SQL thread hanging in
      rpl_parallel_thread_pool::get_thread() while there are no slave worker
      threads to awake it.
      
      The reason of the hang is that at the parallel slave worker pool
      activation the being stared SQL thread could read the worker pool size
      concurrently with pool deactivation. At reading the SQL thread did not
      employ necessary protection from a race.
      
      Fixed with making the SQL thread at the pool activation first
      to grab the same lock as potential deactivator also does prior
      to access the pool size.
      f517d8c7
  6. 07 Oct, 2018 2 commits
    • Igor Babaev's avatar
      MDEV-17382 Hash join algorithm should not be used to join materialized · 1eca4957
      Igor Babaev authored
                 derived table / view by equality
      
      Now rows of a materialized derived table are always put into a
      temporary table before join operation. If BNLH is used to join this
      table with the result of a partial join then both operands of the
      join are actually put into main memory. In most cases this is not
      efficient.
      We could avoid this by sending the rows of the derived table directly
      to the join operation. However this kind of data flow is not supported
      yet.
      Fixed by not allowing usage of hash join algorithm to join a materialized
      derived table if it's joined by an equality predicate of the form
      f=e where f is a field of the derived table.
      1eca4957
    • Kristian Nielsen's avatar
      Fix accumulation of old rows in mysql.gtid_slave_pos · 2f4a0c5b
      Kristian Nielsen authored
      This would happen especially in optimistic parallel replication, where there
      is a good chance that a transaction will be rolled back (due to conflicts)
      after it has executed record_gtid(). If the transaction did any deletions of
      old rows as part of record_gtid(), those deletions will be undone as well.
      And the code did not properly ensure that the deletions would be re-tried.
      
      This patch makes record_gtid() remember the list of deletions done as part
      of a transaction. Then in rpl_slave_state::update() when the changes have
      been committed, we discard the list. However, in case of error and rollback,
      in cleanup_context() we will instead put the list back into
      rpl_global_gtid_slave_state so that the deletions will be re-tried later.
      
      Probably fixes part of the cause of MDEV-12147 as well.
      Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
      2f4a0c5b
  7. 05 Oct, 2018 2 commits
  8. 04 Oct, 2018 5 commits
  9. 02 Oct, 2018 1 commit
  10. 01 Oct, 2018 3 commits
  11. 23 Sep, 2018 4 commits
  12. 22 Sep, 2018 2 commits
  13. 21 Sep, 2018 8 commits
  14. 20 Sep, 2018 3 commits
  15. 19 Sep, 2018 2 commits