1. 21 Dec, 2023 8 commits
  2. 20 Dec, 2023 9 commits
  3. 19 Dec, 2023 8 commits
  4. 18 Dec, 2023 2 commits
  5. 17 Dec, 2023 3 commits
    • Sergei Golubchik's avatar
      MDEV-33046 race condition in InnoDB dict_stats_schedule() · aff5ed39
      Sergei Golubchik authored
      it can be invoked with ms=0. In that case dict_stats_func is
      invoked immediately, it calls dict_stats_process_entry_from_recalc_pool()
      which at the end might try to call dict_stats_schedule() again to
      queue another recalc. And it can happen that the first
      dict_stats_schedule(0) call didn't release dict_stats_mutex yet,
      so the second dict_stats_schedule() won't queue a recalc. And as a
      result the table won't have its stats recalculated at all, not now,
      not later.
      
      This causes innodb.innodb_stats_auto_recalc to fail sporadically.
      
      This commit doesn't fix it but makes it less likely to occur which happens
      to be enough for the test to pass. Proper fix is coming soon.
      aff5ed39
    • Sergei Golubchik's avatar
      Spider cannot run DDL (e.g. create tables) before ddl recovery · 0930eb86
      Sergei Golubchik authored
      use signal_ddl_recovery_done callback for that.
      
      also make the server to call signal_ddl_recovery_done() when loading
      plugins at run-time (so that plugins would't need to detect that
      on their own)
      0930eb86
    • Sergei Golubchik's avatar
      Merge branch '10.5' into 10.6 · e95bba9c
      Sergei Golubchik authored
      e95bba9c
  6. 15 Dec, 2023 5 commits
  7. 14 Dec, 2023 5 commits
    • Sisi Huang's avatar
    • Sergei Golubchik's avatar
      add missing result file · 4eca64e3
      Sergei Golubchik authored
      4eca64e3
    • Marko Mäkelä's avatar
      MDEV-18322 Assertion "wrong page type" on instant ALTER TABLE · 655f78a2
      Marko Mäkelä authored
      row_ins_clust_index_entry_low(): Invoke btr_set_instant() in the same
      mini-transaction that has successfully inserted the metadata record.
      In this way, if inserting the metadata record fails before any
      undo log record was written for it, the index root page will remain
      consistent.
      
      innobase_instant_try(): Remove the btr_set_instant() call.
      
      This is a 10.6 version of c17aca2f.
      
      Tested by: Matthias Leich
      Reviewed by: Thirunarayanan Balathandayuthapani
      655f78a2
    • Marko Mäkelä's avatar
      MDEV-32939 If tables are frequently created, renamed, dropped, a backup cannot be restored · f21a6cbf
      Marko Mäkelä authored
      During mariadb-backup --backup, a table could be renamed, created and
      dropped. We could have both oldname.ibd and oldname.new, and one of
      the files would be deleted before the InnoDB recovery starts. The desired
      end result would be that we will recover both oldname.ibd and newname.ibd.
      
      During normal crash recovery, at most one file operation (create, rename,
      delete) may require to be replayed from the write-ahead log before the
      DDL recovery starts.
      
      deferred_spaces.create(): In mariadb-backup --prepare, try to create the
      file in case it does not exist.
      
      fil_name_process(): Display a message about not found files not only
      if innodb_force_recovery is set, but also in mariadb-backup --prepare.
      If we are processing a FILE_RENAME for a tablespace whose recovery is
      deferred, suppress the message and adjust the file name in case
      fil_ibd_load() returns FIL_LOAD_NOT_FOUND or FIL_LOAD_DEFER.
      
      fil_ibd_load(): Remove a redundant file name comparison.
      The caller already compared that the file names are different.
      We used to wrongly return FIL_LOAD_OK instead of FIL_LOAD_ID_CHANGED
      if only the schema name differed, such as a/t1.ibd and b/t1.ibd.
      
      Tested by: Matthias Leich
      Reviewed by: Thirunarayanan Balathandayuthapani
      f21a6cbf
    • Marko Mäkelä's avatar
      0f510d8b