1. 29 Apr, 2018 1 commit
  2. 24 Apr, 2018 3 commits
  3. 19 Apr, 2018 6 commits
  4. 16 Apr, 2018 1 commit
  5. 13 Apr, 2018 1 commit
    • 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
  6. 08 Apr, 2018 1 commit
  7. 07 Apr, 2018 1 commit
  8. 04 Apr, 2018 1 commit
  9. 03 Apr, 2018 3 commits
  10. 27 Mar, 2018 2 commits
  11. 21 Mar, 2018 3 commits
  12. 20 Mar, 2018 2 commits
  13. 19 Mar, 2018 1 commit
    • Eugene Kosov's avatar
      MDEV-15030 Add ASAN instrumentation · 75c76dbb
      Eugene Kosov authored
      Learn both valgrind and asan to catch this bug:
      
        mem_heap_t* heap = mem_heap_create(1024);
        byte* p = reinterpret_cast<byte*>(heap) + sizeof(mem_heap_t);
        *p = 123;
      
      Overflows of the last allocation in a block will be catched too.
      
      mem_heap_create_block(): poison newly allocated memory
      75c76dbb
  14. 14 Mar, 2018 2 commits
  15. 11 Mar, 2018 1 commit
  16. 02 Mar, 2018 4 commits
  17. 01 Mar, 2018 3 commits
    • Daniel Black's avatar
      MDEV-8743: use O_CLOEXEC MYSQL_LOG::open / TC_LOG_MMAP::open · 4ec7b840
      Daniel Black authored
      For galera compatibility, the main thing is to ensure the FD 1, 2 are
      not opened with O_CLOEXEC otherwise galera sst errors don't appear in
      the error.log
      
      Files without O_CLOEXEC from the test below:
      0 -> /dev/pts/9
      1 -> /tmp/error.log (intended)
      2 -> /tmp/error.log (intended)
      5 -> /tmp/datadir
      6 -> /tmp/datadir/aria_log.00000001
      (Innodb temp files)
      8 -> /tmp/ibIIrhFL (deleted)
      9 -> /tmp/ibfx1vai (deleted)
      10 -> /tmp/ibAQUKFO (deleted)
      11 -> /tmp/ibWBQSHR (deleted)
      15 -> /tmp/ibEXEcfo (deleted)
      
      20 -> /tmp/datadir/mysql/host.MYD
      22 -> /tmp/datadir/mysql/user.MYD
      ... (rest of MYD files)
      
      Test for this and the previous commit.
      
       sql/mysqld --skip-networking --datadir=/tmp/datadir --log-bin=/tmp/datadir/mysqlbin --socket /tmp/s.sock --lc-messages-dir=${PWD}/sql/share --verbose --log-error=/tmp/error.log --general-log-file=/tmp/general.log --general-log=1 --slow-query-log-file=/tmp/slow.log --slow-query-log=1
      180302 10:56:41 [Note] sql/mysqld (mysqld 5.5.60-MariaDB-wsrep) starting as process 26056 ...
      
      $ cd /proc/26056
      $ ls -la --sort=none fd
      total 0
      dr-x------. 2 dan dan  0 Mar  2 10:57 .
      dr-xr-xr-x. 9 dan dan  0 Mar  2 10:56 ..
      lrwx------. 1 dan dan 64 Mar  2 10:57 0 -> /dev/pts/9
      l-wx------. 1 dan dan 64 Mar  2 10:57 1 -> /tmp/error.log
      l-wx------. 1 dan dan 64 Mar  2 10:57 2 -> /tmp/error.log
      lrwx------. 1 dan dan 64 Mar  2 10:57 3 -> /tmp/datadir/mysqlbin.index
      lrwx------. 1 dan dan 64 Mar  2 10:57 4 -> /tmp/datadir/aria_log_control
      lr-x------. 1 dan dan 64 Mar  2 10:57 5 -> /tmp/datadir
      lrwx------. 1 dan dan 64 Mar  2 10:57 6 -> /tmp/datadir/aria_log.00000001
      lrwx------. 1 dan dan 64 Mar  2 10:57 7 -> /tmp/datadir/ibdata1
      lrwx------. 1 dan dan 64 Mar  2 10:57 8 -> /tmp/ibIIrhFL (deleted)
      lrwx------. 1 dan dan 64 Mar  2 10:57 9 -> /tmp/ibfx1vai (deleted)
      lrwx------. 1 dan dan 64 Mar  2 10:57 10 -> /tmp/ibAQUKFO (deleted)
      lrwx------. 1 dan dan 64 Mar  2 10:57 11 -> /tmp/ibWBQSHR (deleted)
      lrwx------. 1 dan dan 64 Mar  2 10:57 12 -> /tmp/datadir/ib_logfile0
      lrwx------. 1 dan dan 64 Mar  2 10:57 13 -> /tmp/datadir/ib_logfile1
      l-wx------. 1 dan dan 64 Mar  2 10:57 14 -> /tmp/slow.log
      lrwx------. 1 dan dan 64 Mar  2 10:57 15 -> /tmp/ibEXEcfo (deleted)
      l-wx------. 1 dan dan 64 Mar  2 10:57 16 -> /tmp/general.log
      lrwx------. 1 dan dan 64 Mar  2 10:57 17 -> socket:[1897356]
      lrwx------. 1 dan dan 64 Mar  2 10:57 18 -> socket:[45335]
      l-wx------. 1 dan dan 64 Mar  2 10:57 19 -> /tmp/datadir/mysqlbin.000004
      lrwx------. 1 dan dan 64 Mar  2 10:57 20 -> /tmp/datadir/mysql/host.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 21 -> /tmp/datadir/mysql/host.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 22 -> /tmp/datadir/mysql/user.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 23 -> /tmp/datadir/mysql/user.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 24 -> /tmp/datadir/mysql/db.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 25 -> /tmp/datadir/mysql/db.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 26 -> /tmp/datadir/mysql/proxies_priv.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 27 -> /tmp/datadir/mysql/proxies_priv.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 28 -> /tmp/datadir/mysql/tables_priv.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 29 -> /tmp/datadir/mysql/tables_priv.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 30 -> /tmp/datadir/mysql/columns_priv.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 31 -> /tmp/datadir/mysql/columns_priv.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 32 -> /tmp/datadir/mysql/procs_priv.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 33 -> /tmp/datadir/mysql/procs_priv.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 34 -> /tmp/datadir/mysql/servers.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 35 -> /tmp/datadir/mysql/servers.MYI
      lrwx------. 1 dan dan 64 Mar  2 10:57 36 -> /tmp/datadir/mysql/event.MYD
      lrwx------. 1 dan dan 64 Mar  2 10:57 37 -> /tmp/datadir/mysql/event.MYI
      
      O_CLOEXEC files are those with flags 02000000
      
      /usr/include/bits/fcntl-linux.h:# define __O_CLOEXEC   02000000
      /usr/include/bits/fcntl-linux.h:# define O_CLOEXEC      __O_CLOEXEC     /* Set close_on_exec.  */
      
      $ find fdinfo/ -type f -ls -exec cat {} \; | more
        1924720      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/0
      pos:    0
      flags:  0100002
      mnt_id: 25
        1924721      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/1
      pos:    9954
      flags:  0102001
      mnt_id: 82
        1924722      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/2
      pos:    10951
      flags:  0102001
      mnt_id: 82
        1924723      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/3
      pos:    116
      flags:  02100002
      mnt_id: 82
        1924724      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/4
      pos:    52
      flags:  0100002
      mnt_id: 82
      lock:   1: POSIX  ADVISORY  WRITE 26056 00:2c:1866365 0 EOF
        1924725      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/5
      pos:    0
      flags:  0100000
      mnt_id: 82
        1924726      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/6
      pos:    16384
      flags:  0100002
      mnt_id: 82
        1924727      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/7
      pos:    0
      flags:  02100002
      mnt_id: 82
      lock:   1: POSIX  ADVISORY  WRITE 26056 00:2c:1866491 0 EOF
        1924728      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/8
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924729      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/9
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924730      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/10
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924731      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/11
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924732      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/12
      pos:    0
      flags:  02100002
      mnt_id: 82
      lock:   1: POSIX  ADVISORY  WRITE 26056 00:2c:1866492 0 EOF
        1924733      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/13
      pos:    0
      flags:  02100002
      mnt_id: 82
      lock:   1: POSIX  ADVISORY  WRITE 26056 00:2c:1866493 0 EOF
        1924734      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/14
      pos:    763
      flags:  02102001
      mnt_id: 82
        1924735      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/15
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924736      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/16
      pos:    473
      flags:  02102001
      mnt_id: 82
        1924737      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/17
      pos:    0
      flags:  02000002
      mnt_id: 9
        1924738      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/18
      pos:    0
      flags:  02
      mnt_id: 9
        1924739      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/19
      pos:    245
      flags:  02100001
      mnt_id: 82
        1924740      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/20
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924741      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/21
      pos:    503
      flags:  0500002
      mnt_id: 82
        1924742      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/22
      pos:    324
      flags:  0100002
      mnt_id: 82
        1924743      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/23
      pos:    642
      flags:  0500002
      mnt_id: 82
        1924744      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/24
      pos:    880
      flags:  0100002
      mnt_id: 82
        1924745      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/25
      pos:    581
      flags:  0500002
      mnt_id: 82
        1924746      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/26
      pos:    1386
      flags:  0100002
      mnt_id: 82
        1924747      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/27
      pos:    498
      flags:  0500002
      mnt_id: 82
        1924748      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/28
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924749      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/29
      pos:    513
      flags:  0500002
      mnt_id: 82
        1924750      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/30
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924751      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/31
      pos:    494
      flags:  0500002
      mnt_id: 82
        1924752      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/32
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924753      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/33
      pos:    535
      flags:  0500002
      mnt_id: 82
        1924754      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/34
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924755      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/35
      pos:    396
      flags:  0500002
      mnt_id: 82
        1924756      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/36
      pos:    0
      flags:  0100002
      mnt_id: 82
        1924757      0 -r--------   1  dan      dan             0 Mar  2 10:57 fdinfo/37
      pos:    517
      flags:  0500002
      mnt_id: 82
      4ec7b840
    • Daniel Black's avatar
      MDEV-8743: use O_CLOEXEC (innodb/xtradb) · 9629bca1
      Daniel Black authored
      9629bca1
    • Sergei Golubchik's avatar
      09b25f85
  18. 26 Feb, 2018 1 commit
    • Nisha Gopalakrishnan's avatar
      BUG#27216817: INNODB: FAILING ASSERTION: · c0b4d74b
      Nisha Gopalakrishnan authored
                    PREBUILT->TABLE->N_MYSQL_HANDLES_OPENED == 1
      
      ANALYSIS:
      =========
      
      Adding unique index to a InnoDB table which is locked as
      mutliple instances may trigger an InnoDB assert.
      
      When we add a primary key or an unique index, we need to
      drop the original table and rebuild all indexes. InnoDB
      expects that only the instance of the table that is being
      rebuilt, is open during the process. In the current
      scenario we have opened multiple instances of the table.
      This triggers an assert during table rebuild.
      'Locked_tables_list' encapsulates a list of all
      instances of tables locked by LOCK TABLES statement.
      
      FIX:
      ===
      We are now temporarily closing all the instances of the
      table except the one which is being altered and later
      reopen them via Locked_tables_list::reopen_tables().
      c0b4d74b
  19. 25 Feb, 2018 1 commit
  20. 24 Feb, 2018 1 commit
  21. 23 Feb, 2018 1 commit