1. 27 Apr, 2018 2 commits
    • Daniele Sciascia's avatar
      MDEV-15803 Fix and re-enable test galera_var_auto_inc_control_on · 74f22939
      Daniele Sciascia authored
      The test assumes that `@@global.auto_increment_offset` is equal to
      `wsrep_local_index + 1`. Which is normally the case if galera runs
      with option `wsrep_auto_increment_control` enabled.
      However, if some prior test performs a restart of a server, then
      `wsrep_local_index` may change, and galera will set the value of
      `auto_increment_offset` accordingly.
      However, if `auto_increment_offset` changes during a test run, then
      mtr will complain. To avoid that, tests that perform restarts include
      `auto_increment_offset_save.inc` and `auto_increment_offset_restore.inc`.
      Which reset the value of `auto_increment_offset`. And when that
      happens, `auto_increment_offset` will no longer be equal to
      `wsrep_local_index + 1`, and the test fails.
      To avoid this problem, simply check that the offsets are different
      on the nodes that compose the cluster.
      74f22939
    • Jan Lindström's avatar
      Merge pull request #723 from codership/10.1-MDEV-16005 · e2c52835
      Jan Lindström authored
      MDEV-16005 sporadic failures with galera tests MW-328B and MW-328C
      e2c52835
  2. 26 Apr, 2018 2 commits
  3. 25 Apr, 2018 2 commits
  4. 24 Apr, 2018 5 commits
    • Daniele Sciascia's avatar
      MDEV-16006 Fix test galera_kill_nochanges · dfb1fdab
      Daniele Sciascia authored
      The test performs a restart and while doing so it occasionally
      fails with "Server did not transition to READY state" in
      `include/start_mysqld.inc".
      Fix is to wait for the cluster to shrink before restarting
      the node.
      dfb1fdab
    • sjaakola's avatar
      MDEV-16005 sporadic failures with galera tests MW-328B and MW-328C · 2f0b8f3e
      sjaakola authored
      These test can sporadically show mutex deadlock warnings between LOCK_wsrep_thd
      and LOCK_thd_data mutexes. This means that these mutexes can be locked in opposite
      order by different threads, and thus result in deadlock situation.
      To fix such issue, the locking policy of these mutexes should be revised and
      enforced to be uniform. However, a quick code review shows that the number of
      lock/unlock operations for these mutexes combined is between 100-200, and all these
      mutex invocations should be checked/fixed.
      
      On the other hand, it turns out that LOCK_wsrep_thd is used for protecting access to
      wsrep variables of THD (wsrep_conflict_state, wsrep_query_state), whereas LOCK_thd_data
      protects query, db and mysys_var variables in THD. Extending LOCK_thd_data to protect
      also wsrep variables looks like a viable solution, as there should not be a use case
      where separate threads need simultaneous access to wsrep variables and THD data variables.
      
      In this commit LOCK_wsrep_thd mutex is refactored to be replaced by LOCK_thd_data.
      By bluntly replacing LOCK_wsrep_thd by LOCK_thd_data, will result in double locking
      of LOCK_thd_data, and some adjustements have been performed to fix such situations.
      2f0b8f3e
    • Daniele Sciascia's avatar
      MDEV-15811 Fix and re-enable test galera.galera_pc_ignore_sb · 92cd6bb5
      Daniele Sciascia authored
      * After killing one galera node with include/kill_galera,
        wait for cluster to shrink
      
      * Remove unnecessary include/wait_until_connected_again.inc
      92cd6bb5
    • Marko Mäkelä's avatar
      Merge 10.0 into 10.1 · 9c34a412
      Marko Mäkelä authored
      9c34a412
    • Marko Mäkelä's avatar
      MDEV-15988 Crash in ./mtr mariabackup.undo_space_id · 5b79303b
      Marko Mäkelä authored
      xb_assign_undo_space_start(): Correctly pass the length of
      the buffer, so that the file name will not be truncated.
      5b79303b
  5. 23 Apr, 2018 7 commits
  6. 21 Apr, 2018 1 commit
  7. 20 Apr, 2018 5 commits
  8. 19 Apr, 2018 7 commits
  9. 17 Apr, 2018 1 commit
  10. 16 Apr, 2018 2 commits
  11. 13 Apr, 2018 5 commits
    • Sergei Golubchik's avatar
    • Daniel Black's avatar
      defaults-group-suffix in print_defaults · 88ac368f
      Daniel Black authored
      Also clarify which --{no-,}default* options, must be first.
      
      Sample output:
      $  client/mysql --help
      client/mysql  Ver 15.1 Distrib 5.5.59-MariaDB, for Linux (x86_64) using readline 5.1
      Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
      
      Usage: client/mysql [OPTIONS] [database]
      
      Default options are read from the following files in the given order:
      /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
      The following groups are read: mysql client client-server client-mariadb
      The following options may be given as the first argument:
      --print-defaults          Print the program argument list and exit.
      --no-defaults             Don't read default options from any option file.
      The following specify which files/groups are read (specified before other options):
      --defaults-file=#         Only read default options from the given file #.
      --defaults-extra-file=#   Read this file after the global files are read.
      --defaults-group-suffix=# Additionally read default groups with # appended as a suffix.
      
      tests running from build directory:
      TEST: print defaults ignored as not first
      $ sql/mysqld  --no-defaults --print-defaults --lc-messages-dir=${PWD}/sql/share
      
      TEST: no startup occurs as --print-defaults specified
      $ sql/mysqld  --print-defaults --lc-messages-dir=${PWD}/sql/share
      sql/mysqld would have been started with the following arguments:
      --lc-messages-dir=/home/dan/repos/build-mariadb-5.5/sql/share
      
      TEST: default args can't be anywhere
      $ client/mysql --user=bob  --defaults-file=/etc/my.cnf
      client/mysql: unknown variable 'defaults-file=/etc/my.cnf'
      $ client/mysql --user=bob  --defaults-group-suffix=.group
      client/mysql: unknown variable 'defaults-group-suffix=.group'
      
      /etc/my.cnf:
      [client-server.group]
      socket=/var/lib/mysql-multi/group/mysqld.sock
      user=bob
      
      /etc/my.other.cnf:
      socket=/var/lib/mysql-other/mysqld.sock
      
      TEST: defaults file read and suffix also applied
      $  client/mysql  --defaults-file=/etc/my.other.cnf  --defaults-group-suffix=.group
      ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql-other/mysqld.sock' (2)
      
      TEST: defaults extra file
      $ client/mysql  --defaults-extra-file=/etc/my.other.cnf  --defaults-group-suffix=.group
      ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql-other/mysqld.sock' (2)
      88ac368f
    • Jan Lindström's avatar
      MDEV-15672: encryption.innodb_encryption_filekeys - typo in I_S column name: ENCRYPTION_SHCEME · 2bf355fa
      Jan Lindström authored
      Fixed typo on select that is executed only when something unexpected
      happens.
      2bf355fa
    • Jan Lindström's avatar
      MDEV-12632: Source and destination overlap in memcpy,... · 3855943f
      Jan Lindström authored
      MDEV-12632: Source and destination overlap in memcpy, encryption.innodb-discard-import-change fails in buildbot with valgrind
      
      Use block->page.offset for checking page number.
      3855943f
    • Jan Lindström's avatar
      MDEV-15580: Assertion `!lex->explain' failed in lex_start(THD*): · 82e96819
      Jan Lindström authored
      Problem was that we did not delete explain information
      when Galera must replay a query.
      
      Could not find easily repeatable test case that would not
      cause other problems.
      82e96819
  12. 12 Apr, 2018 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-15779 - mariabackup incremental prepare fails on CIFS mount. · c2dc72c0
      Vladislav Vaintroub authored
      CIFS does not like O_DIRECT flag (it is set successfully, but pread would
      fail).
      
      The fix is not to use O_DIRECT, there is not need for it.
      posix_fadvise() was used already that should prevent buffer cache
      pollution on Linux.
      
      As recommended by documentation of posix_fadvise(), we'll also fsync()
      tablespaces after a batch of writes.
      c2dc72c0