1. 07 Oct, 2020 4 commits
  2. 05 Oct, 2020 5 commits
  3. 03 Oct, 2020 1 commit
  4. 01 Oct, 2020 3 commits
  5. 30 Sep, 2020 3 commits
  6. 29 Sep, 2020 4 commits
  7. 28 Sep, 2020 10 commits
  8. 25 Sep, 2020 10 commits
    • Monty's avatar
      Reverted wrong patch for mysql_upgrade · e0f5e7bc
      Monty authored
      The original code was correct. mysql_upgrade calls the mysql client to
      talk with MariaDB. It doesn't call itself!
      e0f5e7bc
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-23675 Assertion `pos < table->n_def' fails in dict_table_get_nth_col · e8b05ce5
      Thirunarayanan Balathandayuthapani authored
      - During insertion of clustered inde, InnoDB does the check for
      foreign key constraints. It rebuild the tuple based on foreign
      column names when there is no foreign index. While rebuilding,
      InnoDB should ignore the dropped columns.
      e8b05ce5
    • Monty's avatar
      Reverted wrong patch for mysql_upgrade · 6a137625
      Monty authored
      The original code was correct. mysql_upgrade calls the mysql client to
      talk with MariaDB. It doesn't call itself!
      6a137625
    • Monty's avatar
      Added asssert to init_of_queries() to make it more safe · 71a7b79b
      Monty authored
      Part of review of 10.4 code by Sergei.
      
      Other things:
      
      - Changed return type if is_active() from my_bool to bool as this is
        only used by C++ code.
      71a7b79b
    • Monty's avatar
      MDEV-23296 Assertion `block->type == PAGECACHE_EMPTY_PAGE.. with aria_max_sort_file_size=0 · bb2c9581
      Monty authored
      When maria_drop_all_indexes() reset the key files, it didn't flush
      the page cache. This confused the cache as there where old key blocks
      marked with LSN in it and repair tried to overwrite these with PLAIN
      blocks which is not allowed.
      bb2c9581
    • Monty's avatar
      MDEV-17665 Assertion `!share and other errors on concurrent Aria operations · 92b5a8bb
      Monty authored
      Fixes also:
      MDEV-22674 Server crash in compare_bin ... restore_table_state_after_repair
      
      The bug was that the 'can_enable_index' variable in MyISAM and Aria was
      not properly set and reset for bulk insert.
      Because of this, insert...select was trying to recreate indexes while
      another thread was using it, causing crashes in page cache.
      92b5a8bb
    • Monty's avatar
      MDEV-23318 Assertion `cache_empty(keycache)' failed in prepare_resize_simple_key_cache · 8819b5ee
      Monty authored
      The reason was that during MyISAM parallel repair two threads used the
      same changed TABLE object to compute virtual columns
      
      Fixed by adding a mutex in compute_vcols()
      8819b5ee
    • Monty's avatar
      MDEV-21470 ASAN heap-use-after-free in my_hash_sort_bin · 0b73ef06
      Monty authored
      The problem was that the server was calling virtual functions on a record
      that was not initialized with new data.
      This happened when fill_record() was aborted in the middle because an
      error in save_val() or save_in_field()
      0b73ef06
    • Monty's avatar
      Fix for timeout in rpl.rpl_parallel_retry · 895e9950
      Monty authored
      MDEV-17109 rpl.rpl_parallel_retry fails in buildbot with timeout
      
      I was not able to prove that this fix works, but at least it simplifies
      the problem as it removes some possible timing issues.
      895e9950
    • Monty's avatar
      MDEV-23586 Mariabackup: GTID saved for replication in 10.4.14 is wrong · 16ea692e
      Monty authored
      MDEV-21953 deadlock between BACKUP STAGE BLOCK_COMMIT and parallel
      replication
      
      Fixed by partly reverting MDEV-21953 to put back MDL_BACKUP_COMMIT locking
      before log_and_order.
      
      The original problem for MDEV-21953 was that while a thread was waiting in
      for another threads to commit in 'log_and_order', it had the
      MDL_BACKUP_COMMIT lock. The backup thread was waiting to get the
      MDL_BACKUP_WAIT_COMMIT lock, which blocks all new MDL_BACKUP_COMMIT locks.
      This causes a deadlock as the waited-for thread can never get past the
      MDL_BACKUP_COMMIT lock in ha_commit_trans.
      
      The main part of the bug fix is to release the MDL_BACKUP_COMMIT lock while
      a thread is waiting for other 'previous' threads to commit. This ensures
      that no transactional thread keeps MDL_BACKUP_COMMIT while waiting, which
      ensures that there are no deadlocks anymore.
      16ea692e