1. 15 Apr, 2020 3 commits
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 9e43ca8e
      Marko Mäkelä authored
      9e43ca8e
    • Marko Mäkelä's avatar
      MDEV-21549 IMPORT TABLESPACE fails to adjust all tablespace ID in root pages · f8166a05
      Marko Mäkelä authored
      After MDEV-12353, the consistency check that I originally added for
      commit 1b9fe0bb
      (InnoDB Plugin for MySQL 5.1) started randomly failing.
      
      It turns out that the IMPORT TABLESPACE code was always incorrect:
      it did not update the (redundantly stored) tablespace ID
      in index tree root pages. It only does that for page headers
      and BLOB pointers.
      
      PageConverter::update_index_page(): Update the tablespace ID
      in the BTR_SEG_TOP and BTR_SEG_LEAF of index root pages.
      
      This is a backport of commit b8b3edff.
      f8166a05
    • Marko Mäkelä's avatar
      mbstream: Remove duplicate definition of datasink_buffer · a215e213
      Marko Mäkelä authored
      For some reason, when mbstream is compiled with GCC 10,
      ld will fail to link it due to a multiple definition of
      datasink_buffer. The code appears to have been like that
      since the very beginning.
      
      Let us remove the duplicate dummy definition.
      a215e213
  2. 14 Apr, 2020 3 commits
  3. 13 Apr, 2020 4 commits
  4. 12 Apr, 2020 1 commit
  5. 10 Apr, 2020 1 commit
    • Sergey Vojtovich's avatar
      MDEV-21599 - plugins.server_audit fails sporadically in buildbot · 06219c2a
      Sergey Vojtovich authored
      Fixed a couple of race conditions in the test case to ensure stable order
      of events. Also removed all sleeps. Test execution time is down from 18s
      to 0.15s.
      
      On disconnect audit event is triggered after control is returned to
      mysqltest client. Which means mysqltest may issue more commands
      concurrently before disconnect is actually logged.
      
      Similar problem happens with regular query execution: an event is
      triggered after control is returner to the client. Which may end
      up with unstable order of events in different connections.
      
      Delayed insert rows are enqueued separately and can either be combined
      into single event or go as separate events. Reduced number of inserted
      rows to 1 to stabilize result.
      
      Also backported 2b3f6ab4 from 10.5.
      06219c2a
  6. 08 Apr, 2020 3 commits
    • Varun Gupta's avatar
      MDEV-22191: Range access is not picked when index_merge_sort_union is turned off · c1394ab6
      Varun Gupta authored
      When index_merge_sort_union is turned off only ror scans were considered for range
      scans, which is wrong.
      To fix the problem ensure both ror scans and non ror scans are considered for range
      access
      c1394ab6
    • Julius Goryavsky's avatar
      MDEV-20676: systemd script not working · c8e0c524
      Julius Goryavsky authored
      When trying to start mariadb via systemctl, WSREP failed
      to start mysqld for wsrep recovery, because the binary
      "galera-recovery" is neither searching the mysqld in the
      same folder as the binary itself nor in the path variable
      but instead expects the root to be /usr/local/mysql.
      
      This fix changes the current directory to the desired
      directory before starting mysqld.
      c8e0c524
    • Sergei Golubchik's avatar
      fix rocksdb compression detection · d565895b
      Sergei Golubchik authored
      cmake module name is BZip2, not BZIP2.
      variable names are WITH_ROCKSDB_zstd and WITH_ROCKSDB_snappy.
      it's SNAPPY_FOUND in older cmake (and both in newer cmake).
      also, make it verbose.
      d565895b
  7. 07 Apr, 2020 2 commits
    • Vlad Lesin's avatar
      MDEV-21168: Active XA transactions stop slave from working after backup · 5836191c
      Vlad Lesin authored
      was restored.
      
      Optionally rollback prepared XA's on "mariabackup --prepare".
      
      The fix MUST NOT be ported on 10.5+, as MDEV-742 fix solves the issue for
      slaves.
      5836191c
    • Rasmus Johansson's avatar
      MDEV-22176 Add JUnit support to MTR to generate XML test result · 5720db2b
      Rasmus Johansson authored
      A new parameter has been added called xml-report, with which the
      filename of the XML file is given to which the XML result is
      written. There is also xml-package for adding a package value in
      the XML output. Example usage:
      ./mysql-test-run.pl main.events_bugs innodb.count_distinct
      main.explain_json innodb.file_format_defaults json.json_no_table
      --suite=main,innodb,json --force --xml-report=build123456789.xml
      --xml-package=simpletestrun
      5720db2b
  8. 05 Apr, 2020 1 commit
  9. 03 Apr, 2020 2 commits
    • Daniel Black's avatar
      Correct FreeBSD cpuset_t type · cd88a606
      Daniel Black authored
      cd88a606
    • Hannu Hartikainen's avatar
      my.cnf: mention that config files must be *.cnf · 64b70b09
      Hannu Hartikainen authored
      It took me a long time to debug why my configs were not being loaded,
      and judging from online discussions I'm not the only one. Make the
      comment in the default my.cnf a bit more helpful.
      
      The !includedir directive is implemented in mysys/my_default.c.
      
      - f_extensions[] is a list of file extensions. It includes .ini and .cnf
        on Windows, and only .cnf on all other platforms.
      - search_default_file_with_ext() contains the !includedir directive. It
        filters files in the directory to those matching f_extensions[].
      
      This file should only be applicable on Unix-like platforms, so only
      files with the .cnf extension are read.
      
      Closes #1485
      64b70b09
  10. 01 Apr, 2020 7 commits
    • Sergey Vojtovich's avatar
      A better fix for edd7e7c8 · 05e4a87c
      Sergey Vojtovich authored
      05e4a87c
    • Marko Mäkelä's avatar
      MDEV-19740: Have MYSQL_MAINTAINER_MODE only enable -Werror · 31eaa202
      Marko Mäkelä authored
      Let us enable all GCC and clang warnings independently of the
      MYSQL_MAINTAINER_MODE setting for both Debug and RelWithDebInfo
      builds, and have MYSQL_MAINTAINER_MODE only enable -Werror.
      
      The default setting of MYSQL_MAINTAINER_MODE=AUTO will continue
      to apply the -Werror only to CMAKE_BUILD_TYPE=Debug. To build
      a debug version without -Werror, MYSQL_MAINTAINER_MODE=OFF can
      be used.
      31eaa202
    • Oleksandr Byelkin's avatar
      MDEV-20604: Duplicate key value is silently truncated to 64 characters in print_keydup_error · cb4da5da
      Oleksandr Byelkin authored
      Added indication of truncated string for "s" and "M" formats
      cb4da5da
    • Marko Mäkelä's avatar
      MDEV-22035 Memory leak in main.mysqltest · a1846b7a
      Marko Mäkelä authored
      The test main.mysqltest could crash or hang with
      cmake -DWITH_ASAN=ON builds. The reason appears to be
      a memory leak, which was found out by manually invoking
      
      echo --replace_regex a > file
      ASAN_OPTIONS=log_path=/dev/shm/asan mysqltest ... < file
      
      and then examining the /dev/shm/asan.* file.
      a1846b7a
    • Marko Mäkelä's avatar
      Merge 5.5 into 10.1 · f813131c
      Marko Mäkelä authored
      f813131c
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · bc862c4e
      Marko Mäkelä authored
      bc862c4e
    • Marko Mäkelä's avatar
      MDEV-13626: Improve innodb.xa_recovery_debug · b1742a5c
      Marko Mäkelä authored
      Improve the test that was imported and adapted for MariaDB in
      commit fb217449.
      
      row_undo_step(): Move the DEBUG_SYNC point from trx_rollback_for_mysql().
      This DEBUG_SYNC point is executed after rolling back one row.
      
      trx_rollback_for_mysql(): Clarify the comments that describe the scenario,
      and remove the DEBUG_SYNC point.
      
      If the statement "if (trx->has_logged_persistent())" and its body are
      removed from trx_rollback_for_mysql(), then the test
      innodb.xa_recovery_debug will fail because the transaction would still
      exist in the XA PREPARE state. If we allow the XA COMMIT statement
      to succeed in the test, we would observe an incorrect state of the
      XA transaction where the table would contain row (1,NULL). Depending
      on whether the XA transaction was committed, the table should either
      be empty or contain the record (1,1). The intermediate state of
      (1,NULL) should never be observed after completed recovery.
      b1742a5c
  11. 31 Mar, 2020 2 commits
    • Marko Mäkelä's avatar
      MDEV-13626: Import and adapt innodb.xa_recovery_debug · fb217449
      Marko Mäkelä authored
      Adapt the test that was added in
      mysql/mysql-server@6b65d9032cbb6c1016cb09d056df6885e3d25dc6
      but omitted in commit 2e814d47.
      
      Instead of triggering a log checkpoint, we will only trigger
      a redo log flush before killing the server.
      Note: the mtr.commit() call in trx_rollback_for_mysql()
      will not actually make the undo log header page state change durable.
      A call to log_write_up_to(mtr.commit_lsn(), true) would do that.
      
      It is unclear what the originally reported bug scenario was.
      As long as innobase_rollback_by_xid() will not return without
      ensuring that the redo log has been durably written, we should be safe.
      fb217449
    • mkaruza's avatar
      MDEV-22021: Galera database could get inconsistent with rollback to savepoint · 2d16452a
      mkaruza authored
      When binlog is disabled, WSREP will not behave correctly when
      SAVEPOINT ROLLBACK is executed since we don't register handlers for such case.
      Fixed by registering WSREP handlerton for SAVEPOINT related commands.
      2d16452a
  12. 30 Mar, 2020 3 commits
  13. 26 Mar, 2020 1 commit
  14. 25 Mar, 2020 2 commits
  15. 24 Mar, 2020 2 commits
    • Vladislav Vaintroub's avatar
      24cb76b8
    • seppo's avatar
      MDEV-21473 conflicts with async slave BF aborting (#1475) · 5918b170
      seppo authored
      If async slave thread (slave SQL handler), becomes a BF victim, it may occasionally happen that rollbacker thread is used to carry out the rollback instead of the async slave thread.
      This can happen, if async slave thread has flagged "idle" state when BF thread tries to figure out how to kill the victim.
      The issue was possible to test by using a galera cluster as slave for external master, and issuing high load of conflicting writes through async replication and directly against galera cluster nodes.
      However, a deterministic mtr test for the "conflict window" has not yet been worked on.
      
      The fix, in this patch makes sure that async slave thread state is never set to IDLE. This prevents the rollbacker thread to intervene.
      The wsrep_query_state change was refactored to happen by dedicated function to make controlling the idle state change in one place.
      5918b170
  16. 23 Mar, 2020 3 commits