1. 01 Nov, 2019 2 commits
  2. 31 Oct, 2019 2 commits
  3. 30 Oct, 2019 14 commits
  4. 29 Oct, 2019 4 commits
  5. 28 Oct, 2019 2 commits
  6. 25 Oct, 2019 2 commits
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-20621 FULLTEXT INDEX activity causes InnoDB hang · a41d4297
      Thirunarayanan Balathandayuthapani authored
      - fts_optimize_thread() uses dict_table_t object instead of table id.
      So that it doesn't acquire dict_sys->mutex. It leads to remove the
      hang of dict_sys->mutex between fts_optimize_thread() and other threads.
      
      - in_queue to indicate whether the table is in fts_optimize_queue. It
      is protected by fts_optimize_wq->mutex to avoid any race condition.
      
      - fts_optimize_init() adds the fts table to the fts_optimize_wq
      a41d4297
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-19073 FTS row mismatch after crash recovery · bd22650b
      Thirunarayanan Balathandayuthapani authored
      InnoDB stores synced_doc_id + 1 value in FTS_CONFIG table. But
      while reading the synced doc id from FTS_CONFIG table after restart,
      InnoDB should read synced_doc_id - 1 to get the actual synced
      doc id value.
      bd22650b
  7. 23 Oct, 2019 1 commit
  8. 19 Oct, 2019 3 commits
  9. 15 Oct, 2019 3 commits
  10. 14 Oct, 2019 2 commits
    • Marko Mäkelä's avatar
      MDEV-20813: Remove the buf_flush_init_for_writing() assertion · ae702d76
      Marko Mäkelä authored
      Old InnoDB/XtraDB versions only initialized FIL_PAGE_TYPE for
      B-tree pages (to FIL_PAGE_INDEX), and left it uninitialized
      (possibly containing FIL_PAGE_INDEX) for others. In MySQL
      or MariaDB 5.5, the field is initialized on almost all pages,
      but still not all of them.
      
      In MariaDB 10.2 and later, buf_flush_init_for_writing() would
      initialize the FIL_PAGE_TYPE on such old pages, but only after
      passing the debug assertion that we are now removing from 10.1.
      There, we will be able to modify fil_crypt_rotate_page() so
      that it will skip the key rotation for pages that contain 0
      in FIL_PAGE_TYPE.
      
      In MariaDB 10.1, there is no logic that would initialize
      FIL_PAGE_TYPE on data pages in old data files after an update.
      So, encryption key rotation may routinely cause page flushes
      on pages that contain 0 in FIL_PAGE_TYPE.
      ae702d76
    • Marko Mäkelä's avatar
      MDEV-19740: Fix C++11 violations caught by GCC 9.2.1 · 2920377a
      Marko Mäkelä authored
      This is a backport of commit ec28f953
      to MariaDB Server 10.1.
      2920377a
  11. 11 Oct, 2019 5 commits
    • Julius Goryavsky's avatar
      MDEV-20728: /usr/sbin/mysqld: unknown variable 'defaults-group-suffix=mysqld1 · 2ae02c29
      Julius Goryavsky authored
      When the mysqld_multi script passes the --defaults-group-suffix
      option to mysqld, it must remove the initial substring with the
      group name ("mysqld") from option value, because otherwise substring
      "mysqld" will be added to the group name and then the group name
      will contain the word "mysqld" twice, which is wrong, because
      mysqld itself adds the suffix received to the group name.
      2ae02c29
    • Marko Mäkelä's avatar
      MDEV-20805 follow-up: Catch writes of bogus pages · c0c003be
      Marko Mäkelä authored
      buf_flush_init_for_writing(): Assert that FIL_PAGE_TYPE is set
      except when creating a new data file with a dummy first page.
      
      buf_dblwr_create(): Ensure that FIL_PAGE_TYPE on all pages
      will be initialized. Reset buf_dblwr_being_created at the end.
      c0c003be
    • Marko Mäkelä's avatar
      Merge 5.5 into 10.1 · cbfd6882
      Marko Mäkelä authored
      cbfd6882
    • Marko Mäkelä's avatar
      MDEV-20805 ibuf_add_free_page() is not initializing FIL_PAGE_TYPE first · ea61b796
      Marko Mäkelä authored
      In the function recv_parse_or_apply_log_rec_body() there are debug checks
      for validating the state of the page when redo log records are being
      applied. Most notably, FIL_PAGE_TYPE should be set before anything else
      is being written to the page.
      
      ibuf_add_free_page(): Set FIL_PAGE_TYPE before performing any other changes.
      ea61b796
    • Marko Mäkelä's avatar
      MDEV-19455: Avoid SET DEBUG_DBUG='-d,...' construct · 4ebaf813
      Marko Mäkelä authored
      Apply the correct pattern for debug instrumentation:
      
      SET @save_dbug=@@debug_dbug;
      SET debug_dbug='+d,...';
      ...
      SET debug_dbug=@save_dbug;
      
      Numerous tests use statements of the form
      
      SET debug_dbug='-d,...';
      
      which will inadvertently enable all DBUG tracing output,
      causing unnecessary waste of resources.
      4ebaf813