1. 19 Sep, 2022 1 commit
  2. 15 Sep, 2022 2 commits
    • Alexander Barkov's avatar
      A cleanup for MDEV-29446 Change SHOW CREATE TABLE to display default collation · 23a8654c
      Alexander Barkov authored
      Recording test results according to MDEV-29446 changes:
      
        mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result
        mysql-test/suite/galera/r/galera_sync_wait_show.result
        mysql-test/suite/galera/r/lp1376747-4.result
        mysql-test/suite/s3/replication_partition.result
        mysql-test/suite/s3/replication_stmt.result
      23a8654c
    • Alexander Barkov's avatar
      A cleanup for MDEV-29446 Change SHOW CREATE TABLE to display default collation · 2fd4d25d
      Alexander Barkov authored
      Recording test results according to MDEV-29446 changes:
      
        mysql-test/suite/galera/r/galera-features#117.result
        mysql-test/suite/galera/r/galera_can_run_toi.result
        mysql-test/suite/galera/r/wsrep_strict_ddl.result
        mysql-test/suite/s3/alter.result
        mysql-test/suite/s3/arguments.result
        mysql-test/suite/s3/basic.result
        mysql-test/suite/s3/encryption.result
        mysql-test/suite/s3/innodb.result
        mysql-test/suite/s3/mysqldump.result
        mysql-test/suite/s3/partition.result
        mysql-test/suite/s3/partition_move.result
        mysql-test/suite/s3/replication_delayed.result
        mysql-test/suite/s3/replication_mixed.result
      2fd4d25d
  3. 14 Sep, 2022 4 commits
  4. 13 Sep, 2022 5 commits
  5. 12 Sep, 2022 3 commits
  6. 09 Sep, 2022 1 commit
    • Andrei's avatar
      MDEV-24660 MYSQL_BIN_LOG::cleanup(): Assertion `b->xid_count == 0' · bc12478a
      Andrei authored
      The shutdown time assert was caused by untimely deactivation of
      the binlog background thread and related structs destruction.
      It could specifically occur when a transaction is replication unsafe
      and has to be completed with a ROLLBACK event in binlog.
      
      This gets fixed with the binlog background thread stop relocation
      to a point and user transactions have been completed.
      A test case is added to binlog.binlog_checkpoint which
      also receives as a bonus a minor correction to reactivate a MDEV-4322 test
      case that originally required a shutdown phase (that ceased to do).
      bc12478a
  7. 08 Sep, 2022 1 commit
  8. 07 Sep, 2022 7 commits
    • Andrei's avatar
      MDEV-29322 ASAN heap-use-after-free in Query_log_event::do_apply_event · 55632020
      Andrei authored
      The ASAN report was made in the parallel slave execution of a query
      event and implicitly involved (so also parallelly run) Format-Description
      event.
      The Query actually had unexpected impossible dependency on a preceding
      "old" FD whose instance got destructed, to cause the ASAN error.
      
      The case is fixed with storing the FD's value into Query-log-event
      at its instantiating on slave. The stored value is from the very
      FD of the Query's original binlog so remains to be correct
      at the query event applying.
      
      The branch C. of a new rpl_parallel_29322.test also demonstrates
      (may need few --repeat though) the bug in its simple form of the same
      server version binlog.
      55632020
    • Vladislav Vaintroub's avatar
      Merge branch '10.4' into 10.5 · 80cf7a4c
      Vladislav Vaintroub authored
      # Conflicts:
      #	sql/sql_connect.cc
      80cf7a4c
    • Tuukka Pasanen's avatar
      MDEV-28605: Change wrong plugin config installation location (#2160) · 04899d6d
      Tuukka Pasanen authored
      Preset include directory for configuration files below MariaDB 10.5 is
      /etc/mysql/conf.d
      
      Change installation location wrong plugin installation location from
      /etc/mysql/mariadb.d to default include directory /etc/mysql/conf.d.
      Change makes gssapi-server, oqgraph, rocksdb and tokudb plugins
      loading work after installation
      
      NOTE TO MERGERS: This commit should be upstream to MariaDB 10.4 only!
      Merging to MariaDB 10.5 and above leads to major problems.
      04899d6d
    • Vladislav Vaintroub's avatar
      MDEV-18353 - minor cleanup · 9a8faeea
      Vladislav Vaintroub authored
      Do not repeat yourself.
      
      Instead of having the same DBUG_EXECUTE_IF code in threadpool and
      thread-per-connection, add this code to setup_connection_thread_globals()
      which is executed in all scheduling modes.
      9a8faeea
    • Daniel Black's avatar
      Deb: add kinetic to autobake (#2250) · dd092bc6
      Daniel Black authored
      dd092bc6
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · 38d36b59
      Marko Mäkelä authored
      38d36b59
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · c7ba2377
      Marko Mäkelä authored
      c7ba2377
  9. 06 Sep, 2022 3 commits
  10. 05 Sep, 2022 2 commits
    • Jan Lindström's avatar
      Merge 10.4 into 10.5 · ba987a46
      Jan Lindström authored
      ba987a46
    • Marko Mäkelä's avatar
      MDEV-29438 Recovery or backup of instant ALTER TABLE is incorrect · 244fdc43
      Marko Mäkelä authored
      This bug was found in MariaDB Server 10.6 thanks to the
      OPT_PAGE_CHECKSUM record that was implemented
      in commit 4179f93d for catching
      this type of recovery failures.
      
      page_cur_insert_rec_low(): If the previous record is the page infimum,
      correctly limit the end of the record. We do not want to copy data from
      the header of the page supremum. This omission caused the incorrect
      recovery of DB_TRX_ID in an instant ALTER TABLE metadata record, because
      part of the DB_TRX_ID was incorrectly copied from the n_owned of the
      page supremum, which in recovery would be updated after the copying,
      but in normal operation would already have been updated at the time the
      common prefix was being determined.
      
      log_phys_t::apply(): If a data page is found to be corrupted, do not
      flag the log corrupted but instead return a new status APPLIED_CORRUPTED
      so that the caller may discard all log for this page. We do not want
      the recovery of unrelated pages to fail in recv_recover_page().
      
      No test case is included, because the known test case would only work
      in 10.6, and even after this fix, it would trigger another bug in
      instant ALTER TABLE crash recovery.
      244fdc43
  11. 03 Sep, 2022 2 commits
    • Andrei's avatar
      MDEV-28827 Minor unsafe statement warning message improvement · f501f815
      Andrei authored
      The replication unsafe warning's pattern gets corrected in the
      punctuation part.
      f501f815
    • Brandon Nesterenko's avatar
      MDEV-28530: Revoking privileges from a non-existing user on a master breaks... · 47812017
      Brandon Nesterenko authored
      MDEV-28530: Revoking privileges from a non-existing user on a master breaks replication on the slave in the presence of replication filters
      
      Problem:
      ========
      Replication can break while applying a query log event if its
      respective command errors on the primary, but is ignored by the
      replication filter within Grant_tables on the replica. The bug
      reported by MDEV-28530 shows this with REVOKE ALL PRIVILEGES using a
      non-existent user. The primary will binlog the REVOKE command with
      an error code, and the replica will think the command executed with
      success because the replication filter will ignore the command while
      accessing the Grant_tables classes. When the replica performs an
      error check, it sees the difference between the error codes, and
      replication breaks.
      
      Solution:
      ========
      If the replication filter check done by Grant_tables logic ignores
      the tables, reset thd->slave_expected_error to 0 so that
      Query_log_event::do_apply_event() can be made aware that the
      underlying query was ignored when it compares errors.
      
      Note that this bug also effects DROP USER if not all users exist
      in the provided list, and the patch fixes and tests this case.
      
      Reviewed By:
      ============
      andrei.elkin@mariadb.com
      47812017
  12. 01 Sep, 2022 1 commit
    • Nayuta Yanagisawa's avatar
      MDEV-27172 Prefix indices on Spider tables may lead to wrong query results · e4cffc92
      Nayuta Yanagisawa authored
      Spider converts HA_READ_KEY_EXACT to the equality (=) in the
      function spider_db_append_key_where_internal() but the conversion
      is not necessarily correct for tables with prefix indices.
      
      We fix the bug by converting HA_READ_KEY_EXACT to 'LIKE "foo%"' when
      a target key is a prefix key. The fix is partly inspired by FEDERATED.
      See ha_federated::create_where_from_key() for more details.
      e4cffc92
  13. 31 Aug, 2022 7 commits
    • Marko Mäkelä's avatar
      4f2dc716
    • Daniele Sciascia's avatar
      Reduce compilation dependencies on wsrep_mysqld.h · 2917bd0d
      Daniele Sciascia authored
      Making changes to wsrep_mysqld.h causes large parts of server code to
      be recompiled. The reason is that wsrep_mysqld.h is included by
      sql_class.h, even tough very little of wsrep_mysqld.h is needed in
      sql_class.h. This commit introduces a new header file, wsrep_on.h,
      which is meant to be included from sql_class.h, and contains only
      macros and variable declarations used to determine whether wsrep is
      enabled.
      Also, header wsrep.h should only contain definitions that are also
      used outside of sql/. Therefore, move WSREP_TO_ISOLATION* and
      WSREP_SYNC_WAIT macros to wsrep_mysqld.h.
      Reviewed-by: default avatarJan Lindström <jan.lindstrom@mariadb.com>
      2917bd0d
    • Daniel Black's avatar
      c487eeed
    • Daniel Black's avatar
      MDEV-29418 linux uuid implementation returning non-hwaddr based suffix · 5cbc5dbb
      Daniel Black authored
      Because of a define error the wrong value was being returned.
      
      Regression in MDEV-28243
      
      Fixes: 607f9874679c3e4ef7edcd2c9d80120051af73cc
      5cbc5dbb
    • Daniel Black's avatar
      Merge branch 10.4 into 10.5 · 43037a5a
      Daniel Black authored
      43037a5a
    • Daniel Black's avatar
      Merge 10.3 into 10.4 · cf1a944f
      Daniel Black authored
      cf1a944f
    • Daniel Black's avatar
      MDEV-28592 disks plugin - getmntinfo (BSD) & getmntent (AIX) · 129616c7
      Daniel Black authored
      Thanks to references from Brad Smith, BSDs use getmntinfo as
      a system call for mounted filesystems.
      
      Most BSDs return statfs structures, (and we use OSX's statfs64),
      but NetBSD uses a statvfs structure.
      
      Simplify Linux getmntent_r to just use getmntent.
      
      AIX uses getmntent.
      
      An attempt at writing Solaris compatibility with
      a small bit of HPUX compatibility was made based on man page
      entries only. Fixes welcome.
      
      statvfs structures now use f_bsize for consistency with statfs
      
      Test case adjusted as PATH_MAX is OS defined (e.g. 1023 on AIX)
      
      Fixes: 0ee5cf83
      
      also fixes:
      
      MDEV-27818: Disk plugin does not show zpool mounted devices
      
      This is because zpool mounted point don't begin with /.
      
      Due to the proliferation of multiple filesystem types since this
      was written, we restrict the entries listed in the disks plugin
      to excude:
      * read only mount points (no point monitoring, and
        includes squash, snaps, sysfs, procfs, cgroups...)
      * mount points that aren't directories (excludes /etc/hostname and
        similar mounts in containers). (getmntent (Linux/AIX) only)
      * exclude systems where there is no capacity listed (excludes various
        virtual filesystem types).
      
      Reviewer: Sergei Golubchik
      129616c7
  14. 30 Aug, 2022 1 commit