1. 21 Oct, 2022 2 commits
    • Otto Kekäläinen's avatar
      Deb: Use archive.mariadb.org for upgrade testing in Salsa-CI (#2294) · dca4fc24
      Otto Kekäläinen authored
      The official deb.mariadb.org mirrors are intended for distribution of the
      current MariaDB releases. When a version goes end-of-life, they are
      removed from those mirrors.
      
      The upgrade tests should however work even after EOL. While we do want
      users to stop using EOL versions, we still expect the newer versions to
      support upgrades from old versions to the current versions. Therefore we
      should continue testing upgrades from EOL versions, and for that to work,
      switch the CI to use the archive.mariadb.org repositories instead.
      
      MERGE NOTE: This commit was made on the oldest branch with the salsa-ci.yml
      file. When merging 10.5->10.6->...->10.12 please include this commit in
      the merge and ensure all files end up with the change:
      
          deb.mariadb.org/10.([0-9]+)/ -> archive.mariadb.org/mariadb-10.$1/repo/
      dca4fc24
    • Daniel Black's avatar
      MDEV-29615 mtr to use mariadb names · 7afc6ee8
      Daniel Black authored
      7afc6ee8
  2. 20 Oct, 2022 1 commit
    • Monty's avatar
      MDEV-25606: Concurrent CREATE TRIGGER statements mix up in binlog and break replication · 99e14aa5
      Monty authored
      The bug is that we don't have a a lock on the trigger name, so it is
      possible for two threads to try to create the same trigger at the same
      time and both thinks that they have succeed.
      Same thing can happen with drop trigger or a combinations of create and
      drop trigger.
      
      Fixed by adding a mdl lock for the trigger name for the duration of the
      create/drop.
      99e14aa5
  3. 19 Oct, 2022 2 commits
    • Monty's avatar
      MDEV-29508 perfschema.short_option_1 fails with MSAN - Error in accept · 81ad6787
      Monty authored
      This was caused by the short_option_1-master.opt file that had the
      option -T12, which means (among other things) to use blocking for
      sockets.  This was supported up to MariaDB 10.4, but not in 10.5 where
      we removed the code that changes blocking sockets to non blocking in
      case of errors.
      
      Fixed by ignoring the TEST_BLOCKING flag and also by not using the -T12
      argument in short_option_1.
      
      Other things:
      - Added back support for valgrind (the original issue had nothing to
        do with valgrind).
      - While debugging I noticed that the retry loop in
        handle_connections_sockets() was doing a lot of work during shutdown.
        Fixed by not doing retrys during shutdown.
      81ad6787
    • Daniel Black's avatar
      MDEV-26872 perfschema.prepared_statements non-deterministic test failure (#2290) · 55227234
      Daniel Black authored
      Correct by ORDER BY in the output.
      55227234
  4. 14 Oct, 2022 6 commits
  5. 13 Oct, 2022 3 commits
  6. 12 Oct, 2022 4 commits
    • Nikita Malyavin's avatar
      MDEV-29753 An error is wrongly reported during INSERT with vcol index · 128356b4
      Nikita Malyavin authored
      See also commits aa8a31da and 64678c for a Bug #22990029 fix.
      
      In this scenario INSERT chose to check if delete unmarking is available for
      a just deleted record. To build an update vector, it needed to calculate
      the vcols as well. Since this INSERT was not IGNORE-flagged, recalculation
      failed.
      
      Solutiuon: temporarily set abort_on_warning=true, while calculating the
      column for delete-unmarked insert.
      128356b4
    • Nikita Malyavin's avatar
      MDEV-29299 SELECT from table with vcol index reports warning · 3cd2c1e8
      Nikita Malyavin authored
      As of now innodb does not store trx_id for each record in secondary index.
      The idea behind is following: let us store only per-page max_trx_id, and
      delete-mark the records when they are deleted/updated.
      
      If the read starts, it rememders the lowest id of currently active
      transaction. Innodb refers to it as trx->read_view->m_up_limit_id.
      See also ReadView::open.
      
      When the page is fetched, its max_trx_id is compared to m_up_limit_id.
      If the value is lower, and the secondary index record is not delete-marked,
      then this page is just safe to read as is. Else, a clustered index could be
      needed ato access. See page_get_max_trx_id call in row_search_mvcc, and the
      corresponding switch (row_search_idx_cond_check(...)) below.
      
      Virtual columns are required to be updated in case if the record was
      delete-marked. The motivation behind it is documented in
      Row_sel_get_clust_rec_for_mysql::operator() near
      row_sel_sec_rec_is_for_clust_rec call.
      
      This was basically a description why virtual column computation can
      normally happen during SELECT, and, generally, a vcol index access.
      
      Sometimes stats tables are updated by innodb. This starts a new
      transaction, and it can happen that it didn't finish to the moment of
      SELECT execution, forcing virtual columns recomputation. If the result was
      a something that normally outputs a warning, like division by zero, then
      it could be outputted in a racy manner.
      
      The solution is to suppress the warnings when a column is computed
      for the described purpose.
      ignore_wrnings argument is added innobase_get_computed_value.
      Currently, it is only true for a call from
      row_sel_sec_rec_is_for_clust_rec.
      3cd2c1e8
    • Jan Lindström's avatar
      Fixes after 10.4 --> 10.5 merge · 5fffdbc8
      Jan Lindström authored
      * MDEV-29142 : Ignore inconsistency warning as we kill cluster
      * galera_parallel_apply_3nodes : Disabled because it is unstable
      * MDEV-26597 : Add missing code
      * galera_sr.galera_sr_ws_size2 : Remove incorrect assertion
      5fffdbc8
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · 977c385d
      Marko Mäkelä authored
      977c385d
  7. 11 Oct, 2022 9 commits
  8. 10 Oct, 2022 3 commits
  9. 09 Oct, 2022 6 commits
  10. 07 Oct, 2022 4 commits