1. 22 Jan, 2019 1 commit
    • Sergey Vojtovich's avatar
      MDEV-12747 - main.mysqld_option_err fails in buildbot with timeout · 9f4d4f40
      Sergey Vojtovich authored
      thd_destructor_proxy() may miss abort signal if innobase_end() is running
      concurrently, which causes server hang in pthread_join() on shutdown.
      
      The problem was that aborting wasn't protected by mutex:
      proxy thr: while (!myvar->abort)
      end thr: running->abort = 1;
      end thr: mysql_cond_broadcast(...);
      proxy thr: mysql_cond_wait(...); // nobody to awake it
      end thr: pthread_join(...); // waits for proxy thr
      
      Also made main.mysqld_option_err reentrant.
      9f4d4f40
  2. 18 Jan, 2019 2 commits
  3. 17 Jan, 2019 6 commits
  4. 16 Jan, 2019 6 commits
  5. 15 Jan, 2019 7 commits
  6. 14 Jan, 2019 8 commits
  7. 13 Jan, 2019 1 commit
  8. 10 Jan, 2019 1 commit
  9. 09 Jan, 2019 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-18185 - mariabackup - fix specific case of table rename handing in prepare. · 4a872ae1
      Vladislav Vaintroub authored
      If, during backup
      1) Innodb table is dropped (after being copied to backup) and then
      2) Before backup finished, another Innodb table is renamed, and new name
      is the name of the dropped table in 1)
      
      then, --prepare fails with assertion, as DDL fixup code in prepare
      did not handle this specific case.
      
      The fix is to process drops before renames, in prepare DDL-"redo" phase.
      4a872ae1
  10. 08 Jan, 2019 1 commit
  11. 07 Jan, 2019 1 commit
    • Jan Lindström's avatar
      MDEV-15740: InnoDB does not flush redo log when it shoul · 1d56d875
      Jan Lindström authored
      During database recovery, a transaction with wsrep XID is
      recovered from InnoDB in prepared state. However, when the
      transaction is looked up with trx_get_trx_by_xid() in
      innobase_commit_by_xid(), trx->xid gets cleared in
      trx_get_trx_by_xid_low() and commit time serialization history
      write does not update the wsrep XID in trx sys header for
      that recovered trx. As a result the transaction gets
      committed during recovery but the wsrep position does not
      get updated appropriately.
      
      As a fix, we preserve trx->xid for Galera over transaction
      commit in recovery phase.
      
      Fix authored by: Teemu Ollakka (GaleraCluster) and Marko Mäkelä.
      
      	modified:   mysql-test/suite/galera/disabled.def
      	modified:   mysql-test/suite/galera/r/galera_gcache_recover_full_gcache.result
      	modified:   mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
      	modified:   mysql-test/suite/galera/t/galera_gcache_recover_full_gcache.test
      	modified:   mysql-test/suite/galera/t/galera_gcache_recover_manytrx.test
      	modified:   storage/innobase/trx/trx0trx.cc
      	modified:   storage/xtradb/trx/trx0trx.cc
      1d56d875
  12. 06 Jan, 2019 1 commit
    • Varun Gupta's avatar
      MDEV-13784: query causes seg fault · d0d0f88f
      Varun Gupta authored
      When we have a nested subquery then a subquery that was a dependent subquery
      may change to an independent one when we optimizer the inner subqueries.
      This is handled st_select_lex::optimize_unflattened_subqueries.
      Currently a subquery that was changed to independent from dependent after optimization
      phase incorrectly shows dependent in the output of Explain, this happens because we
      don't update used_tables for the WHERE clause, ON clause, etc after the optimization phase.
      d0d0f88f
  13. 04 Jan, 2019 3 commits
  14. 03 Jan, 2019 1 commit