1. 26 Feb, 2019 1 commit
    • Julius Goryavsky's avatar
      MDEV-9519: Data corruption will happen on the Galera cluster size change · 50b3632f
      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.
      
      In the title of the MDEV-9519 it was proposed to ban start slave on a Galera
      if master binlog_format = statement and wsrep_auto_increment_control = 1,
      but the problem can be solved without such a restriction.
      
      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).
      
      https://jira.mariadb.org/browse/MDEV-9519
      50b3632f
  2. 23 Feb, 2019 1 commit
    • Igor Babaev's avatar
      MDEV-18700 EXPLAIN EXTENDED shows a wrong operation for query · 09bd2138
      Igor Babaev authored
                 with UNION ALL after INTERSECT
      
      EXPLAIN EXTENDED erroneously showed UNION instead of UNION ALL in
      the warning if UNION ALL followed INTERSECT or EXCEPT operations.
      The bug was in the function st_select_lex_unit::print() that printed
      the text of the query used in the warning.
      09bd2138
  3. 21 Feb, 2019 1 commit
  4. 20 Feb, 2019 4 commits
  5. 19 Feb, 2019 12 commits
  6. 18 Feb, 2019 7 commits
  7. 16 Feb, 2019 1 commit
    • Marko Mäkelä's avatar
      Fix tests for innodb_checksum_algorithm=strict_crc32 · df51dc28
      Marko Mäkelä authored
      In tests that directly write InnoDB data file pages,
      compute the innodb_checksum_algorithm=crc32 checksums,
      instead of writing the 0xdeadbeef value used by
      innodb_checksum_algorithm=none. In this way, these tests
      will not cause failures when executing
      ./mtr --mysqld=--loose-innodb-checksum-algorithm=strict_crc32
      df51dc28
  8. 14 Feb, 2019 3 commits
  9. 13 Feb, 2019 10 commits