1. 04 Sep, 2018 5 commits
    • Vasil Dimov's avatar
      MDEV-15792 Fix mtr to be able to wait for >1 exited mysqld · 1d98255f
      Vasil Dimov authored
      If a mtr test case has started two mysqld processes (replication tests),
      then kills the first one and kills the second one before starting the
      first (so at some point there are two mysqlds down), then the ./mtr
      waiting process bricks and forgets to monitor the "expect" file of the
      first mysqld, so it never gets started again, even when its contents is
      changed to "restart".
      
      A victim of this deficiency is at least galera.galera_gcache_recover.
      
      The fix is to keep a list of all mysqlds we should wait to start, not
      just one (the last one killed).
      1d98255f
    • Sergei Golubchik's avatar
      82bb0158
    • Sergei Golubchik's avatar
      compiler warnings (clang 4.0.1 on i386) · 8bee7c16
      Sergei Golubchik authored
      extra/mariabackup/fil_cur.cc:361:42: warning: format specifies type 'unsigned long' but the argument has type 'ib_int64_t' (aka 'long long') [-Wformat]
      extra/mariabackup/fil_cur.cc:376:9: warning: format specifies type 'unsigned long' but the argument has type 'ib_int64_t' (aka 'long long') [-Wformat]
      sql/handler.cc:6196:45: warning: format specifies type 'unsigned long' but the argument has type 'wsrep_trx_id_t' (aka 'unsigned long long') [-Wformat]
      sql/log.cc:1681:16: warning: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
      sql/log.cc:1687:16: warning: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
      sql/wsrep_sst.cc:1388:86: warning: format specifies type 'long' but the argument has type 'wsrep_seqno_t' (aka 'long long') [-Wformat]
      sql/wsrep_sst.cc:232:86: warning: format specifies type 'long' but the argument has type 'wsrep_seqno_t' (aka 'long long') [-Wformat]
      storage/connect/filamdbf.cpp:450:47: warning: format specifies type 'short' but the argument has type 'int' [-Wformat]
      storage/connect/filamdbf.cpp:970:47: warning: format specifies type 'short' but the argument has type 'int' [-Wformat]
      storage/connect/inihandl.cpp:197:16: warning: address of array 'key->name' will always evaluate to 'true' [-Wpointer-bool-conversion]
      storage/innobase/btr/btr0scrub.cc:151:17: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      storage/innobase/buf/buf0buf.cc:5085:8: warning: nonnull parameter 'bpage' will evaluate to 'true' on first encounter [-Wpointer-bool-conversion]
      storage/innobase/fil/fil0crypt.cc:2454:5: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      storage/innobase/handler/ha_innodb.cc:18685:7: warning: format specifies type 'unsigned long' but the argument has type 'wsrep_trx_id_t' (aka 'unsigned long long') [-Wformat]
      storage/innobase/row/row0mysql.cc:3319:5: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      storage/innobase/row/row0mysql.cc:3327:5: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      storage/maria/ma_norec.c:35:10: warning: implicit conversion from 'int' to 'my_bool' (aka 'char') changes value from 131 to -125 [-Wconstant-conversion]
      storage/maria/ma_norec.c:42:10: warning: implicit conversion from 'int' to 'my_bool' (aka 'char') changes value from 131 to -125 [-Wconstant-conversion]
      storage/maria/ma_test2.c:1009:12: warning: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
      storage/maria/ma_test2.c:1010:12: warning: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
      storage/mroonga/ha_mroonga.cpp:9189:44: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
      storage/mroonga/vendor/groonga/lib/expr.c:4987:22: warning: comparison of constant -1 with expression of type 'grn_operator' is always false [-Wtautological-constant-out-of-range-compare]
      storage/xtradb/btr/btr0scrub.cc:151:17: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      storage/xtradb/buf/buf0buf.cc:5047:8: warning: nonnull parameter 'bpage' will evaluate to 'true' on first encounter [-Wpointer-bool-conversion]
      storage/xtradb/fil/fil0crypt.cc:2454:5: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      storage/xtradb/row/row0mysql.cc:3324:5: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      storage/xtradb/row/row0mysql.cc:3332:5: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
      unittest/sql/mf_iocache-t.cc:120:35: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat]
      unittest/sql/mf_iocache-t.cc:96:35: note: expanded from macro 'INFO_TAIL'
      8bee7c16
    • Sergei Golubchik's avatar
      MDEV-9627 clang builds fail on i386 · aec54fb9
      Sergei Golubchik authored
      don't use C11 atomics unless HAVE_GCC_C11_ATOMICS is defined
      aec54fb9
    • Sergei Golubchik's avatar
      Fix TokuDB's check for -Wno-address-of-packed-member · 64d4181f
      Sergei Golubchik authored
      (failed configure with old clang)
      64d4181f
  2. 03 Sep, 2018 1 commit
  3. 02 Sep, 2018 2 commits
  4. 31 Aug, 2018 3 commits
    • Jan Lindström's avatar
      Disable failing Galera tests. · 288212f4
      Jan Lindström authored
      288212f4
    • Marko Mäkelä's avatar
      MDEV-16647 InnoDB fails to drop large temporary table on disconnect · f693170c
      Marko Mäkelä authored
      This regression was introduced in MDEV-16515.
      We would fail to drop a temporary table on client disconnect,
      because trx_is_interrupted() would hold. To add insult to
      injury, in MariaDB 10.1, InnoDB temporary tables are actually
      persistent, so the garbage temporary tables will never be dropped.
      
      row_drop_table_for_mysql(): If several iterations of
      buf_LRU_drop_page_hash_for_tablespace() are needed,
      do not interrupt dropping a temporary table even after
      the transaction was marked as killed.
      
      Server shutdown will still terminate the loop, and also DROP TABLE
      of persistent tables will keep checking if the execution was aborted.
      f693170c
    • Marko Mäkelä's avatar
      Revert MDEV-9519 due to regressions · 3b5d3cd6
      Marko Mäkelä authored
      This reverts commit 75dfd4ac.
      3b5d3cd6
  5. 30 Aug, 2018 2 commits
  6. 29 Aug, 2018 1 commit
  7. 28 Aug, 2018 2 commits
  8. 27 Aug, 2018 1 commit
    • Monty's avatar
      MDEV-15797 Assertion `thd->killed != 0' failed in ha_maria::enable_indexes · cded083a
      Monty authored
      Problem was that a parallel open of a table, overwrote info->state that
      was in used by repair.
      
      Fixed by changing _ma_tmp_disable_logging_for_table() to use
      a new state buffer state.no_logging to store the temporary state.
      
      Other things:
      - Use original number of rows when retrying repair to get rid of a
        potential warning "Number of rows changed from X to Y"
      - Changed maria_commit() to make it easier to merge with 10.4
      - If table is not locked (like with show commands), use the global
        number of rows as the local number may not be up to date.
        (Minor not critical fix)
      - Added some missing DBUG_RETURN
      cded083a
  9. 21 Aug, 2018 4 commits
  10. 17 Aug, 2018 1 commit
  11. 15 Aug, 2018 5 commits
    • Oleksandr Byelkin's avatar
      Merge branch '5.5' into 10.0 · bcc677bb
      Oleksandr Byelkin authored
      bcc677bb
    • Sergei Petrunia's avatar
      MDEV-6439: Server crashes in Explain_union::print_explain with explain in slow log, tis620 charset · b62ac161
      Sergei Petrunia authored
      Item_subselect::is_expensive() used to return FALSE (Inexpensive) whenever
      it saw that one of SELECTs in the Subquery's UNION is degenerate. It
      ignored the fact that other parts of the UNION might not be inexpensive,
      including the case where pther parts of the UNION have no query plan yet.
      
      For a subquery in form col >= ANY (SELECT 'foo' UNION SELECT 'bar')
      this would cause the query to be considered inexpensive when there is
      no query plan for the second part of the UNION, which in turn would
      cause the SELECT 'foo' to compute and free itself while still inside
      JOIN::optimize for that SELECT (See MDEV comment for full description).
      b62ac161
    • Oleksandr Byelkin's avatar
      MDEV-15475: Assertion `!table || (!table->read_set ||... · 1b797e9e
      Oleksandr Byelkin authored
      MDEV-15475: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed on EXPLAIN EXTENDED with constant table and view
      
      Print constant ISNULL value independent.
      Fix of printing of view FRM and CREATE VIEW output
      1b797e9e
    • Julius Goryavsky's avatar
      This is patch for the https://jira.mariadb.org/browse/MDEV-9519 issue: · 75dfd4ac
      Julius Goryavsky authored
      If we have a 2+ node cluster which is replicating from an async master
      and the binlog_format is set to STATEMENT and multi-row inserts are executed
      on a table with an auto_increment column such that values are automatically
      generated by MySQL, then the server node generates wrong auto_increment
      values, which are different from what was generated on the async master.
      
      The causes and fixes:
      
      1. We need to improve processing of changing the auto-increment values
      after changing the cluster size.
      
      2. If wsrep auto_increment_control switched on during operation of
      the node, then we should immediately update the auto_increment_increment
      and auto_increment_offset global variables, without waiting of the next
      invocation of the wsrep_view_handler_cb() callback. In the current version
      these variables retain its initial values if wsrep_auto_increment_control
      is switched on during operation of the node, which leads to inconsistent
      results on the different nodes in some scenarios.
      
      3. If wsrep auto_increment_control switched off during operation of the node,
      then we must return the original values of the auto_increment_increment and
      auto_increment_offset global variables, as the user has set. To make this
      possible, we need to add a "shadow copies" of these variables (which stores
      the latest values set by the user).
      75dfd4ac
    • Jan Lindström's avatar
      Merge pull request #844 from codership/10.1-MDEV-15933 · 59608156
      Jan Lindström authored
      MDEV-15933 Cannot resume Node SYNCED state when wsrep_desync is done after FTWRL
      59608156
  12. 14 Aug, 2018 2 commits
  13. 13 Aug, 2018 2 commits
  14. 11 Aug, 2018 1 commit
  15. 09 Aug, 2018 2 commits
  16. 08 Aug, 2018 1 commit
  17. 07 Aug, 2018 2 commits
  18. 06 Aug, 2018 2 commits
  19. 05 Aug, 2018 1 commit