1. 14 Dec, 2022 4 commits
    • Marko Mäkelä's avatar
      Merge 10.6 into 10.7 · 98181a7c
      Marko Mäkelä authored
      98181a7c
    • Marko Mäkelä's avatar
      After-merge fix · 9be5973e
      Marko Mäkelä authored
      This fixes up 25b91c3f
      9be5973e
    • Daniel Black's avatar
      Merge branch '10.5' into 10.6 · 4b2e7616
      Daniel Black authored
      4b2e7616
    • Daniel Black's avatar
      MDEV-30172 re-disable galera tests · 687657c2
      Daniel Black authored
      galera_sr.GCF-1060 'innodb'              w2 [ fail ]  timeout after 900 seconds
      
      galera_3nodes.galera_ssl_reload At line 50: mysql_shutdown failed
      galera_3nodes.galera_ssl_reload : MDEV-30172 At line 50: mysql_shutdown failed
      galera_3nodes.GCF-354 : mysqltest: At line 39: query 'DROP TABLE test.t1' failed: 1047: WSREP has not yet prepared node for application use
      galera_3nodes.GCF-354 : mysqltest: At line 30: query 'INSERT INTO test.t1 values (1)' failed: 1180: Got error 6 "No such device or address"
      
      galera_wan : [ERROR] WSREP: /home/buildbot/buildbot/build/gcs/src/gcs_state_msg.cpp:gcs_state_msg_get_quorum():947: Failed to establish quorum.
      687657c2
  2. 13 Dec, 2022 9 commits
  3. 12 Dec, 2022 7 commits
  4. 10 Dec, 2022 1 commit
    • Julius Goryavsky's avatar
      MDEV-29814: galera_var_notify_ssl_ipv6 causes testing system to hang · a4914008
      Julius Goryavsky authored
      This commit fixes the test system hanging due to
      the galera_var_notify_ssl_ipv6 test and also brings
      the wsrep_notify[_ssl].sh files in line with each other
      between the user template and the mtr suite.
      
      Quotes are also added here to avoid problems if the
      user specifies the value of one of the variables at the
      beginning of the file containing shell-specific characters,
      for example, if the password or username specified in the
      PSWD and USER variables will contain the "$" character.
      
      Also fixed an issue with automatic --ssl-verify-server-cert
      option substitution when the corresponding value is set
      by the user to "1" or "on".
      
      Also fixed some tests here to avoid joining one of the nodes
      to another cluster when the nodes are restarted from the mtr
      side, which can lead to random failures when testing with
      buildbot.
      a4914008
  5. 09 Dec, 2022 2 commits
    • Julius Goryavsky's avatar
      MDEV-29814: galera_var_notify_ssl_ipv6 causes testing system to hang · 8f309732
      Julius Goryavsky authored
      This commit fixes the test system hanging due to
      the galera_var_notify_ssl_ipv6 test and also brings
      the wsrep_notify[_ssl].sh files in line with each other
      between the user template and the mtr suite.
      
      Quotes are also added here to avoid problems if the
      user specifies the value of one of the variables at the
      beginning of the file containing shell-specific characters,
      for example, if the password or username specified in the
      PSWD and USER variables will contain the "$" character.
      
      Also fixed an issue with automatic --ssl-verify-server-cert
      option substitution when the corresponding value is set
      by the user to "1" or "on".
      
      Also fixed some tests here to avoid joining one of the nodes
      to another cluster when the nodes are restarted from the mtr
      side, which can lead to random failures when testing with
      buildbot.
      8f309732
    • Marko Mäkelä's avatar
      MDEV-29144 ER_TABLE_SCHEMA_MISMATCH or crash on DISCARD/IMPORT · 782b2a75
      Marko Mäkelä authored
      mysql_discard_or_import_tablespace(): On successful
      ALTER TABLE...DISCARD TABLESPACE, evict the table handle from the
      table definition cache, so that ha_innobase::close() will be invoked,
      like InnoDB expects to be the case. This will avoid an assertion failure
      ut_a(table->get_ref_count() == 0) during IMPORT TABLESPACE.
      
      ha_innobase::open(): Do not issue any ER_TABLESPACE_DISCARDED warning.
      Member functions for DML will do that.
      
      ha_innobase::truncate(), ha_innobase::check_if_supported_inplace_alter():
      Issue ER_TABLESPACE_DISCARDED warnings, to compensate for the removal of
      the warning in ha_innobase::open().
      
      row_quiesce_write_indexes(): Only write information about committed
      indexes. The ALTER TABLE t NOWAIT ADD INDEX(c) in the nondeterministic
      test case will most of the time fail due to a metadata lock (MDL) timeout
      and leave behind an uncommitted index.
      
      Reviewed by: Sergei Golubchik
      782b2a75
  6. 08 Dec, 2022 3 commits
    • Daniel Black's avatar
      MDEV-30150 ST_GeomFromGeoJSON, 'geometry' before 'type: feature' error · 8f3631d0
      Daniel Black authored
      The geometry type requires Type:"Feature" but the feature need
      not be first in the JSON structure.
      
      Adjust code to return an error if geometry isn't a JSON object,
      but continue parsing searching for Type: "Feature" to trigger
      the geometry parsing.
      
      Thanks Derick Magnusen for the bug report.
      8f3631d0
    • Tuukka Pasanen's avatar
      MDEV-28834: Add minimal support for Lintian version 2.115 and above · 85181653
      Tuukka Pasanen authored
      Convert minimal amount of Lintian overrides to make Lintian
      test pass also with Debian Sid latest Lintian 2.115 version.
      
      Old style overrides are kept so they can be used with
      older versions of Lintian.
      
      Introduce minimal Lintian overrides which are common
      from MariaDB version 10.5 up-to to 10.8.
      
      Overrides added files:
        * debian/mariadb-test-data.lintian-overrides
          - MariaDB installs some shared objects to test-suite directory and not in
            '/usr/lib' or similar. Share objects is pam_mariadb_mtr.so. Tags are
            arch-dependent-file-in-usr-share and
            arch-independent-package-contains-binary-or-object Lintia
       * debian/mariadb-test.lintian-overrides
         - MariaDB installs some some binaries to test-sute directory and
           in mariadb-test package they are my_safe_process and
           wsrep_check_version. Tags is
           arch-dependent-file-in-usr-share
       * debian/source/lintian-overrides
         - In source there is some source files missing which should be addressed
           sql/share/charsets/languages.html and
           and storage/rocksdb/rocksdb/docs/_includes/footer.html.
           Tags is source-is-missing
         - Add Lintian override for missing:
           storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2
         - Add Lintian override for substvar external resources:
           ${source:Version} libmariadb-dev -> libmysqlclient-dev [debian/control:66]
           ${source:Version} libmariadb-dev -> libmysqld-dev [debian/control:66]
           ${source:Version} libmariadbd-dev -> libmariadbclient-dev [debian/control:216]
      85181653
    • 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
  7. 07 Dec, 2022 4 commits
  8. 06 Dec, 2022 1 commit
  9. 05 Dec, 2022 5 commits
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · e55397a4
      Marko Mäkelä authored
      e55397a4
    • Marko Mäkelä's avatar
      MDEV-30148 Race condition between non-persistent statistics and purge · 0a7d85c9
      Marko Mäkelä authored
      btr_cur_t::open_random_leaf(): Replaces btr_cur_open_at_rnd_pos().
      Acquire a shared latch on each page, and finally release all
      latches except the one on the leaf page.
      
      This fixes a race condition between the purge of history and
      btr_estimate_number_of_different_key_vals(), which turned out
      to only hold a buffer-fix on the randomly chosen leaf page.
      Typically, an assertion would fail in page_rec_is_supremum().
      
      ibuf_contract(): Start from the beginning of the change buffer,
      to simplify the logic. Starting with
      commit b42294bc
      it does not matter much where the change buffer merge is being initiated.
      
      The race condition may have been introduced as early as
      mysql/mysql-server@ac74632293bea967b352d1b472abedeeaa921b98
      from where it was copied to
      commit 2e814d47.
      
      Reviewed by: Vladislav Lesin
      Tested by: Matthias Leich
      0a7d85c9
    • Anel Husakovic's avatar
      dgcov: parsing without dot to get specific version · a59dffb0
      Anel Husakovic authored
      - Regression introduced 7baf24a0 for multidigit gcc dump.
      There is no dot in `dumpversion`.
      ```
      $ gcc -dumpversion
      10
      ```
      Otherwise it will fail and not produce the output
      ```
      Running dgcov
      Name "IO::Uncompress::Gunzip::GunzipError" used only once: possible typo at ./dgcov.pl line 197.
      Cannot parse gcc -dumpversion: 9
      ```
      
      - The warning `once` is always generated:
      ```
      Running dgcov
      Name "IO::Uncompress::Gunzip::GunzipError" used only once: possible typo at ./dgcov.pl line 197.
      <number>
      ```
      Suppresing the line `Name "IO::Uncompress::Gunzip::GunzipError" used only once: possible typo at ./dgcov.pl line 197.`
      with the patch.
      
      - Reviewed by: <>
      a59dffb0
    • Monty's avatar
      Fixed a crash during automatic zerofill of moved Aria table · e748f5cc
      Monty authored
      This could happen if one did a DML with a moved table that one had done
      an external zerofill on.
      The crash happend because a message that was supposed to be sent to
      a repair report was instead sent to the result, which caused an ASSERT
      e748f5cc
    • Otto Kekäläinen's avatar
      Gitlab-CI: Upgrade Fedora build always use latest (now 37) version · 95d71272
      Otto Kekäläinen authored
      The version was fixed to be Fedora 36 due to previous issues on
      Gitlab-CI, but those seem to be solved now.
      
      Use 'mariadb' name in scripts and server binary as Fedora switched name in
      https://src.fedoraproject.org/rpms/mariadb/c/df76620f9e8a9b3f14da8a615050feeac2c62e26
      
      Switch to using the `default:` section supported by newer Gitlab-CI,
      see https://docs.gitlab.com/ee/ci/yaml/#default.
      
      Also define an explicit timeout of 3 hours to ensure builds don't time
      out if the default timeout is too short.
      
      NOTE TO MERGERS: These changes are version independent and should be
      merged up on all MariaDB branches 10.6 -> 10.11.
      95d71272
  10. 03 Dec, 2022 2 commits
    • Sergei Golubchik's avatar
      dgcov: also remove rpm dependency on IO::Uncompress::Gunzip · 180b2bcd
      Sergei Golubchik authored
      and enable option bundling
      180b2bcd
    • 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
  11. 02 Dec, 2022 2 commits
    • Sergei Golubchik's avatar
      MDEV-26102 followup · 7baf24a0
      Sergei Golubchik authored
      * update README
      * fix version regex to support versions with two digits
      * die if the version cannot be parsed
      * support gcc versions 11+
      * require JSON::PP not use, to avoid introducing new rpm dependency
        into MariaDB-test
      7baf24a0
    • Anel Husakovic's avatar
      MDEV-26102 dgcov: add support for *.gcda.gcov.json.gz files of gcov 9.1+ · 43173ef2
      Anel Husakovic authored
      - Script covers situation for gcov (gcc) < 9 with non-json format of
      generated files as well as for gcov (gcc) >=8 with json generated format
      
      Reviewed by: serg@mariadb.com
      43173ef2