1. 12 Dec, 2022 7 commits
  2. 08 Dec, 2022 1 commit
    • Monty's avatar
      Fixed bug in Aria when used with enterprise mariadb-backup · dd5f4b36
      Monty authored
      If the backup finished in the middle of a Aria bulk load insert,
      which could happen with LOAD DATA INFILE, CREATE ... SELECT etc)
      there was a chance that Aria recovery would fail on the backup.
      
      Fixed by ensuring that bulk load operations for Aria are not allowed
      under BACKUP LOCK.
      I also changed so that the table TRN is updated just before truncate
      which ensures that old redo's for the table are ignored.
      I also enabled Aria redo for DDL's to be able to repeat REPAIR commands.
      Without this change recovery would not work on repaired tables.
      
      Notes:
      - We take the backup lock protection at the end of bulk insert (as we
        don't want to keep the lock over a very long running insert).
        If mariadb-backup keeps the backup lock too long,  this may fail with
        a lock timeout. In this case the batch insert will fail and the table
        will be truncated (set to it's original state).
      dd5f4b36
  3. 07 Dec, 2022 5 commits
  4. 06 Dec, 2022 1 commit
  5. 05 Dec, 2022 4 commits
  6. 03 Dec, 2022 1 commit
    • Sergei Petrunia's avatar
      MDEV-29129: Performance regression starting in 10.6: select order by limit ... · e0dbec1c
      Sergei Petrunia authored
      The cause of regression was handling for ROWNUM() function.
      For queries like
      
        SELECT ROWNUM() FROM ... ORDER BY ...
      
      ROWNUM() should be computed before the ORDER BY.
      The computation was moved to be before the ORDER BY for any entries in
      the select list that had RAND_TABLE_BIT set.
      
      This had a negative impact on queries in form:
      
        SELECT sp_func() FROM t1 ORDER BY ... LIMIT n
      
      where sp_func() is NOT declared as DETERMINISTIC (and so has
      RAND_TABLE_BIT set).
      
      The fix is to require evaluation for sorting only for the ROWNUM()
      function. Functions that just have RAND_TABLE_BIT() can be computed
      after ORDER BY ... LIMIT is applied.
      
      (think about a possible index that satisfies the ORDER BY clause. In
      that case, the the rows would be read in the needed order and we would
      stop after reading LIMIT rows, achieving the same effect).
      e0dbec1c
  7. 02 Dec, 2022 2 commits
  8. 01 Dec, 2022 1 commit
  9. 30 Nov, 2022 14 commits
  10. 29 Nov, 2022 4 commits
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-30119 INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION.NAME is NULL for undo tablespaces · bb29712b
      Thirunarayanan Balathandayuthapani authored
      - Information_schema.innodb_tablespaces_encryption should print
      undo tablespace name as innodb_undo001, innodb_undo002 and soon.
      
      - Encryption test should include undo tablespaces count when
      the tests are waiting for the condition to check whether all
      tables are encrypted or decrypted.
      bb29712b
    • anson1014's avatar
      Extend GitLab CI with build and test jobs for sanitizers (#2174) · c1de3776
      anson1014 authored
      Add a build and test job for each of ASAN, MSAN, TSAN, and UBSAN to the
      GitLab pipeline such that current vulnerabilities will be more easily
      visible and on each new commit, we can ensure that there are no
      additional errors introduced. Furthermore, sanitizer test runs are run
      separate from the existing mysql-test-run to isolate sanitizer error
      from functional errors.
      
      All new code of the whole pull request, including one or several files
      that are either new files or modified ones, are contributed under the
      BSD-new license. I am contributing on behalf of my employer
      Amazon Web Services, Inc.
      c1de3776
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-30122 mariabackup.skip_innodb crashes when innodb_undo_tablespaces > 0 · b18241e0
      Thirunarayanan Balathandayuthapani authored
      - Assign srv_undo_space_id_start when InnoDB opens extra unused
      InnoDB undo tablespaces in srv_all_undo_tablespaces_open().
      Mariabackup can detect the undo tablespaces using
      srv_undo_space_id_start variable
      b18241e0
    • sjaakola's avatar
      MDEV-29512 deadlock between commit monitor and THD::LOCK_thd_data mutex · 07a06022
      sjaakola authored
      This commit contains only a mtr test for reproducing the issue in MDEV-29512
      The actual fix will be pushed in wsrep-lib repository
      
      The hanging in MDEV-29512 happens when binlog purging is attempted, and there is
      one local BF aborted transaction waiting for commit monitor.
      
      The test will launch two node cluster and enable binlogging with expire log days,
      to force binlog purging to happen.
      A local transaction is executed so that will become BF abort victim, and has advanced
      to replication stage waiting for commit monitor for final cleanup (to mark position in innodb)
      after that, applier is released to complete the BF abort and due to binlog configuration,
      starting the binlog purging. This is where the hanging would occur, if code is buggy
      Reviewed-by: default avatarJan Lindström <jan.lindstrom@mariadb.com>
      07a06022