1. 23 Jun, 2021 9 commits
    • Marko Mäkelä's avatar
      MDEV-25062: Reduce trx_rseg_t::mutex contention · 6e12ebd4
      Marko Mäkelä authored
      redo_rseg_mutex, noredo_rseg_mutex: Remove the PERFORMANCE_SCHEMA keys.
      The rollback segment mutex will be uninstrumented.
      
      trx_sys_t: Remove pointer indirection for rseg_array, temp_rseg.
      Align each element to the cache line.
      
      trx_sys_t::rseg_id(): Replaces trx_rseg_t::id.
      
      trx_rseg_t::ref: Replaces needs_purge, trx_ref_count, skip_allocation
      in a single std::atomic<uint32_t>.
      
      trx_rseg_t::latch: Replaces trx_rseg_t::mutex.
      
      trx_rseg_t::history_size: Replaces trx_sys_t::rseg_history_len
      
      trx_sys_t::history_size_approx(): Replaces trx_sys.rseg_history_len
      in those places where the exact count does not matter. We must not
      acquire any trx_rseg_t::latch while holding index page latches, because
      normally the trx_rseg_t::latch is acquired before any page latches.
      
      trx_sys_t::history_exists(): Replaces trx_sys.rseg_history_len!=0
      with an approximation.
      
      We remove some unnecessary trx_rseg_t::latch acquisition around
      trx_undo_set_state_at_prepare() and trx_undo_set_state_at_finish().
      Those operations will only access fields that remain constant
      after trx_rseg_t::init().
      6e12ebd4
    • Marko Mäkelä's avatar
      MDEV-25967: Correctly extend deferred-recovery files · b3e87880
      Marko Mäkelä authored
      recv_sys_t::recover_deferred(): Set the file size to match the number
      of pages. Mariabackup might copy the file while it was being extended.
      b3e87880
    • Marko Mäkelä's avatar
      MDEV-25996 sux_lock::s_lock(): Assertion !have_s() failed on startup · 592a925c
      Marko Mäkelä authored
      dict_check_sys_tables(): Correctly advance the cursor position.
      This fixes a regression that was caused by
      commit 49e2c8f0 (MDEV-25743).
      592a925c
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · 3a566de2
      Marko Mäkelä authored
      3a566de2
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · 344e5990
      Marko Mäkelä authored
      344e5990
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 09b03ff3
      Marko Mäkelä authored
      09b03ff3
    • Daniel Bartholomew's avatar
      bump the VERSION · 55b3a3f4
      Daniel Bartholomew authored
      55b3a3f4
    • Daniel Bartholomew's avatar
      bump the VERSION · bf2680ea
      Daniel Bartholomew authored
      bf2680ea
    • Daniel Bartholomew's avatar
      bump the VERSION · 1deb6304
      Daniel Bartholomew authored
      1deb6304
  2. 22 Jun, 2021 7 commits
    • Igor Babaev's avatar
      MDEV-25679 Wrong result selecting from simple view with LIMIT and ORDER BY · 7f24e37f
      Igor Babaev authored
      Cherry-picking only test case.
      7f24e37f
    • Marko Mäkelä's avatar
      MDEV-25950 Ignoring strange row from mysql.innodb_index_stats after DDL · 9fc67c6b
      Marko Mäkelä authored
      commit_try_rebuild(): Invoke trx_t::drop_table_statistics()
      with the correct (original) name of the table.
      This fixes a regression that was introduced in
      commit 1bd681c8 (MDEV-25506 part 3).
      9fc67c6b
    • Marko Mäkelä's avatar
      MDEV-25989 Crash (or hang) on startup after restoring backup · e1c953ef
      Marko Mäkelä authored
      If an ALTER TABLE that affected a table with FULLTEXT INDEX was
      in progress while a backup was made, InnoDB would crash or hang
      during the first startup after restoring the backup,
      while trying to drop the #sql-alter- table for the DDL operation.
      
      drop_garbage_tables_after_restore(): Invoke dict_sys.unlock()
      before invoking the FTS functions. Also, invoke purge_sys.stop_FTS()
      in debug builds to silence debug assertions. (Purge is not yet
      running at this point.)
      e1c953ef
    • Marko Mäkelä's avatar
      MDEV-25981 InnoDB upgrade fails · 35a9aaeb
      Marko Mäkelä authored
      trx_undo_mem_create_at_db_start(): Relax too strict upgrade checks
      that were introduced in
      commit e46f76c9 (MDEV-15912).
      On commit, pages will typically be set to TRX_UNDO_CACHED state.
      Having the type TRX_UNDO_INSERT in such pages is common and
      unproblematic; the type would be reset in trx_undo_reuse_cached().
      
      trx_rseg_array_init(): On failure, clean up the rollback segments
      that were initialized so far, to avoid an assertion failure later
      during shutdown.
      35a9aaeb
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · e07f0a2d
      Marko Mäkelä authored
      e07f0a2d
    • Marko Mäkelä's avatar
      MDEV-25982 Upgrade of MariaDB 10.1 log crashes due to missing encryption key · 19716ad5
      Marko Mäkelä authored
      init_crypt_key(): On failure, set info->key_version to
      ENCRYPTION_KEY_VERSION_INVALID.
      
      log_crypt_101_read_block(): Refuse to attempt decryption if
      info->key_version is ENCRYPTION_KEY_VERSION_INVALID.
      19716ad5
    • Igor Babaev's avatar
      MDEV-25679 Wrong result selecting from simple view with LIMIT and ORDER BY · 6e94ef41
      Igor Babaev authored
      This bug affected queries with views / derived_tables / CTEs whose
      specifications were of the form
        (SELECT ... LIMIT <n>) ORDER BY ...
      Units representing such specifications contains one SELECT_LEX structure
      for (SELECT ... LIMIT <n>) and additionally SELECT_LEX structure for
      fake_select_lex. This fact should have been taken into account in the
      function mysql_derived_fill().
      
      This patch has to be applied to 10.2 and 10.3 only.
      6e94ef41
  3. 21 Jun, 2021 16 commits
  4. 19 Jun, 2021 7 commits
  5. 18 Jun, 2021 1 commit