1. 27 Jan, 2019 2 commits
    • Teemu Ollakka's avatar
      MDEV-15740 Recorded wsrep-recover-v25 · ddfc7890
      Teemu Ollakka authored
      ddfc7890
    • Teemu Ollakka's avatar
      MDEV-15740 Fix wsrep recovery with wsrep_emulate_bin_log · 4ea12839
      Teemu Ollakka authored
      If the TC log did not provide list of XIDs to recover, the
      commit by XID was skipped during wsrep recovery if binlog emulation
      was on. However, with wsrep we want to commit every prepared transaction
      with assigned wsrep XID since the transaction has already been
      committed in the cluster.
      
      Added a special condition to always proceed to commit by XID in
      xarecover_handlerton() if binlog is off and the recovered transaction
      has wsrep XID.
      4ea12839
  2. 25 Jan, 2019 2 commits
    • Teemu Ollakka's avatar
      MDEV-15740 Backport wsrep recovery fixes from 10.4. · 040b840d
      Teemu Ollakka authored
      Clear wsrep XID in innobase_rollback_by_xid() for recovered wsrep
      transaction in order to avoid resetting XID storage when rolling back
      wsrep transaction during recovery.
      
      Sort wsrep XIDs read from storage engine in ascending order and
      erify that the range is continuous during crash recovery. If binlog is off,
      commit all recovered transactions for continuous seqno range. This is safe
      because all transactions with wsrep XID have been certified and must be
      committed in the cluster. On the other hand if binlog is on, respect binlog
      as a transaction coordinator in order to avoid missing transactions in binlog
      that have been committed into storage engine .
      040b840d
    • Teemu Ollakka's avatar
      Backported wsrep-recover test from 10.4. · ce28fa53
      Teemu Ollakka authored
      Backported wsrep-recover test from 10.4 to test the wsrep recovery
      after database shutdown or crash. Renamed the test to wsrep-recover-v25
      to avoid conflicts with existing test in 10.4 and to provide coverage
      for wsrep-API v25 compatible behavior.
      
      The test case in 10.2 is simpler because out of order prepare
      step cannot happen, the commit order critical section is grabbed
      before prepare phase.
      
      Test is not recorded since it does not produce expected result.
      ce28fa53
  3. 24 Jan, 2019 8 commits
  4. 23 Jan, 2019 20 commits
  5. 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
  6. 21 Jan, 2019 3 commits
  7. 18 Jan, 2019 3 commits
    • Varun Gupta's avatar
      MDEV-14440: Assertion `inited==RND' failed in handler::ha_rnd_end · 2061e00c
      Varun Gupta authored
      In the function QUICK_RANGE_SELECT::init_ror_merged_scan we create a seperate handler if the handler in
      head->file cannot be reused. The flag free_file tells us if we have a seperate handler or not.
      There are cases where you might create a handler and then there might be a failure(running ALTER)
      and then we have to revert the handler back to the original one. The code does that
      but it does not reset the flag 'free_file' in this case.
      Also backported f2c41807.
      2061e00c
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 37ffdb44
      Marko Mäkelä authored
      37ffdb44
    • Marko Mäkelä's avatar
      MDEV-18237 InnoDB: Unable to drop FTS index aux table and further errors (possibly bogus) · 1d72db45
      Marko Mäkelä authored
      row_drop_table_for_mysql(): Fix a regression introduced in MDEV-16515.
      Similar to the follow-up fixes MDEV-16647 and MDEV-17470, we must make
      the internal tables of FULLTEXT INDEX immune to kills, to avoid noise
      and resource leakage on DROP TABLE or ALTER TABLE. (Orphan internal tables
      would be dropped at the next InnoDB startup only.)
      1d72db45
  8. 17 Jan, 2019 1 commit