1. 21 Apr, 2017 4 commits
  2. 20 Apr, 2017 7 commits
  3. 19 Apr, 2017 1 commit
    • Oleksandr Byelkin's avatar
      Fix use of `require` in mysql-test-run. · d185f1d6
      Oleksandr Byelkin authored
      The motivation for this is that Perl is moving towards not having
      current directory ./ in @INC by default. This is causing
      mysql-test-run.pl to fail in latest Debian Unstable:
      
        https://lists.debian.org/debian-devel-announce/2016/08/msg00013.html
      
      However, we have `use "lib"`, there is no need for current directory
      in @INC, except for a gross hack. In mtr_cases.pm, there is a
      `require "mtr_misc.pl"`, which hides mtr_misc.pl away in mtr_cases
      namespace. And things only work because mysql-test-run.pl loads it
      with a different name, `require "lib/mtr_misc.pl"`! (Perl will
      `require` only once for each unique filename).
      
      Fix this by only using `require` in main program, and referencing
      functions with :: scope from other namespaces. For multi-use in
      different namespaces, proper `use` modules should be used.
      Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
      d185f1d6
  4. 13 Apr, 2017 1 commit
  5. 11 Apr, 2017 1 commit
  6. 10 Apr, 2017 1 commit
    • Kristian Nielsen's avatar
      MDEV-11201: gtid_ignore_duplicates incorrectly ignores statements when GTID... · 88613e1d
      Kristian Nielsen authored
      MDEV-11201: gtid_ignore_duplicates incorrectly ignores statements when GTID replication is not enabled
      
      When master_use_gtid=no, the IO thread loads the slave GTID state from
      the master during connect. This races with the SQL thread when
      gtid_ignore_duplicates=1. If an event is in the relay log from before
      the new connect and has not been applied yet, moving the slave
      position causes the SQL thread to think that event should be skipped
      due to gtid_ignore_duplicates=1.
      
      This patch simply disables gtid_ignore_duplicates when not using GTID,
      which seems to be what one would expect.
      88613e1d
  7. 09 Apr, 2017 1 commit
  8. 07 Apr, 2017 1 commit
  9. 05 Apr, 2017 2 commits
  10. 04 Apr, 2017 1 commit
    • Igor Babaev's avatar
      Fixed the bug mdev-12429 and its duplicates mdev-12145 and mdev-9886. · b0395d87
      Igor Babaev authored
      Also fixed a wrong result for a test case for mdev-7691
      (the alternative one).
      The test  cases for all these bug have materialized semi-joins used
      inside dependent sub-queries.
      
      The patch actually reverts the change inroduced by Monty in 2003.
      It looks like this change is not valid anymore after the implementation
      of semi-joins.
      Adjusted output from EXPLAIN for many other test cases.
      b0395d87
  11. 03 Apr, 2017 2 commits
    • Vladislav Vaintroub's avatar
      Compiling, Windows . Avoid unnecessary rebuilds with MSVC. · f2dc04ab
      Vladislav Vaintroub authored
      To export symbols from the mysqld.exe, use lib.exe with /DEF, rather than
      pre-link step when building mysqld.exe.
      
      This helps to avoid relinking all plugins, if mysqld.exe was recompiled
      but the list of its exports has not changed.
      
      Also removed unnecessary DEPENDS in some ADD_CUSTOM_COMMAND (gen_lex_token,
      gen_lex_hash etc). They confuse VS generator which tends to
      recreate headers and do unnecessary recompilations.
      f2dc04ab
    • Vladislav Vaintroub's avatar
      Windows : Fix compiling with VS2013 · ff6f4d7d
      Vladislav Vaintroub authored
      We do not use it now, but there is still no reason to break compilation
      for other users.
      ff6f4d7d
  12. 24 Mar, 2017 2 commits
  13. 21 Mar, 2017 2 commits
  14. 18 Mar, 2017 2 commits
    • Marko Mäkelä's avatar
      Clean up the test mentioned in MDEV-12052. · 4c35dce2
      Marko Mäkelä authored
      The test is not expected to crash. With a non-debug server,
      Valgrind completes in reasonable time without any failure.
      
      Also, it does not make sense to store and restore parameters
      when the parameters are already being restored by a server restart.
      4c35dce2
    • Bharathy Satish's avatar
      Bug #25717383: MYSQLDUMP MAY EXECUTE ANY ARBITRARY QUERY · 6fa5e081
      Bharathy Satish authored
      While writing comments if database object names has a new
      line character, then next line is considered a command, rather
      than a comment.
      This patch fixes the way comments are constructed in mysqldump.
      
      (cherry picked from commit 1099f9d17b1c697c2760f86556f5bae7d202b444)
      6fa5e081
  15. 17 Mar, 2017 1 commit
  16. 16 Mar, 2017 3 commits
    • Sergei Golubchik's avatar
      compiler warning · 8971286a
      Sergei Golubchik authored
      8971286a
    • Monty's avatar
      Wait for slave threads to start during startup · 2d0c579a
      Monty authored
      - Before this patch during startup all slave threads was started without
        any check that they had started properly.
      - If one did a START SLAVE, STOP SLAVE or CHANGE MASTER as first command to the server
        there was a chance that server could access structures that where not
        properly  initialized which could lead to crashes in
        Log_event::read_log_event
      - Fixed by waiting for slave threads to start up properly also during
        server startup, like we do with START SLAVE.
      2d0c579a
    • Monty's avatar
      Removed wrong assert · e7f55fde
      Monty authored
      The following is an updated commit message for the following commit
      that was pushed before I had a chance to update the commit message:
      c5e25c8b
      
      Fixed dead locks when doing stop slave while slave was starting.
      
      - Added a separate lock for protecting start/stop/reset of a specific slave.
        This solves some possible dead locks when one calls stop slave while
        the slave is starting as the old run_locks was over used for other things.
      - Set hash->records to 0 before calling free of all hash elements.
        This was set to stop concurrent threads to loop over hash elements and
        access members that was already freed.
        This was a problem especially in start_all_slaves/stop_all_slaves
        as the mutex protecting the hash was temporarily released while a slave
        was started/stopped.
      - Because of change to hash->records during hash_reset(),
        any_slave_sql_running() will return 1 during shutdown as one can't
        loop over master_info_index->master_info_hash while hash_reset() of it
        is in progress.
        This also fixes a potential old bug in any_slave_sql_running() where
        during shutdown and ~Master_info_index(), my_hash_free() we could
        potentially try to access elements that was already freed.
      e7f55fde
  17. 15 Mar, 2017 1 commit
  18. 14 Mar, 2017 2 commits
  19. 13 Mar, 2017 2 commits
  20. 12 Mar, 2017 1 commit
  21. 10 Mar, 2017 2 commits
    • Marko Mäkelä's avatar
      MDEV-12091 Shutdown fails to wait for rollback of recovered transactions to finish · 032678ad
      Marko Mäkelä authored
      In the 10.1 InnoDB Plugin, a call os_event_free(buf_flush_event) was
      misplaced. The event could be signalled by rollback of resurrected
      transactions while shutdown was in progress. This bug was caught
      by cmake -DWITH_ASAN testing. This call was only present in the
      10.1 InnoDB Plugin, not in other versions, or in XtraDB.
      
      That said, the bug affects all InnoDB versions. Shutdown assumes the
      cessation of any page-dirtying activity, including the activity of
      the background rollback thread. InnoDB only waited for the background
      rollback to finish as part of a slow shutdown (innodb_fast_shutdown=0).
      The default is a clean shutdown (innodb_fast_shutdown=1). In a scenario
      where InnoDB is killed, restarted, and shut down soon enough, the data
      files could become corrupted.
      
      logs_empty_and_mark_files_at_shutdown(): Wait for the
      rollback to finish, except if innodb_fast_shutdown=2
      (crash-like shutdown) was requested.
      
      trx_rollback_or_clean_recovered(): Before choosing the next
      recovered transaction to roll back, terminate early if non-slow
      shutdown was initiated. Roll back everything on slow shutdown
      (innodb_fast_shutdown=0).
      
      srv_innodb_monitor_mutex: Declare as static, because the mutex
      is only used within one module.
      
      After each call to os_event_free(), ensure that the freed event
      is not reachable via global variables, by setting the relevant
      variables to NULL.
      032678ad
    • Ramil Kalimullin's avatar
      BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION · 060b1ead
      Ramil Kalimullin authored
      MYSQL_OPT_SSL_MODE option introduced.
      It is set in case of --ssl-mode=REQUIRED and permits only SSL connection.
      
      (cherry picked from commit 3b2d28578c526f347f5cfe763681eff365731f99)
      060b1ead