An error occurred fetching the project authors.
  1. 29 Aug, 2017 1 commit
    • Andrei Elkin's avatar
      MDEV-13437 InnoDB fails to return error for XA COMMIT or XA ROLLBACK in read-only mode · 888a8b69
      Andrei Elkin authored
      Assertions failed due to incorrect handling of the --tc-heuristic-recover
      option when InnoDB is in read-only mode either due to innodb_read_only=1
      or innodb_force_recovery>3. InnoDB failed to refuse a XA COMMIT or
      XA ROLLBACK operation, and there were errors in the error handling in
      the upper layer.
      
      This was fixed by making InnoDB XA operations respect the
      high_level_read_only flag. The InnoDB part of the fix and
      parts of the test main.tc_heuristic_recover were provided
      by Marko Mäkelä.
      
      LOCK_log mutex lock/unlock had to be added to fix MDEV-13438.
      The measure is confirmed by mysql sources as well.
      
      For testing of the conflicting option combination, mysql-test-run is
      made to export a new $MYSQLD_LAST_CMD. It holds the very last value
      generated by mtr.mysqld_start().  Even though the options have been
      also always stored in $mysqld->{'started_opts'} there were no access
      to them beyond the automatic server restart by mtr through the expect
      file interface.
      
      Effectively therefore $MYSQLD_LAST_CMD represents a more general
      interface to $mysqld->{'started_opts'} which can be used in wider
      scopes including server launch with incompatible options.
      
      Notice another existing method to restart the server with incompatible
      options relying on $MYSQLD_CMD is is aware of $mysqld->{'started_opts'}
      (the actual options that the server is launched by mtr). In order to use
      this method they would have to be provided manually.
      
      NOTE: When merging to 10.2, the file search_pattern_in_file++.inc
      should be replaced with the pre-existing search_pattern_in_file.inc.
      888a8b69
  2. 28 Aug, 2017 1 commit
  3. 14 Jul, 2017 1 commit
  4. 01 Jun, 2017 1 commit
  5. 12 May, 2017 1 commit
  6. 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
  7. 17 Apr, 2017 1 commit
    • Shishir Jaiswal's avatar
      Bug#25043674 - MYSQLACCESS SCRIPT LOADS AND EXECUTES CODE · 788fb5bf
      Shishir Jaiswal authored
                     FROM THE CURRENT DIRECTORY
      
      DESCRIPTION
      ===========
      When 'mysqlaccess' tool is run, it reads (and executes) the
      content of its configuration file 'mysqlaccess.conf' from
      the current directory. This is not a recommended behaviour
      as someone with ill intentions can insert malicious
      instructions into this file which could be executed
      whenever this tool is run.
      
      ANALYSIS
      ========
      The configuration file is presently looked for, in the
      following folders (in given order):
      1. Current directory
      2. SYSCONFDIR       //This gets expanded
      3. /etc/
      
      Owing to the reasons mentioned above, we should not permit
      the file to be in the current directory. Since the other
      two folders are assumed to be accessible only to authorized
      people, the config file is safe to be read from there.
      
      FIX
      ===
      Modified the script so that it looks for the config file
      now in the following two folders (in the given order):
      1. SYSCONFDIR
      2. /etc/
      
      If it's absent from above locations but present in current
      directory, an error is thrown asking the user to move the
      file to one of the above locations and retry.
      
      NOTE
      ====
      The location paths and their precedence are not documented
      for this tool. It needs to be noted as part of the
      associated documentation.
      788fb5bf
  8. 27 Feb, 2017 1 commit
    • Daniel Black's avatar
      MDEV-11619: mtr --mem {no argument of a directory} (#320) · b54566d7
      Daniel Black authored
      This removes functionality of where ./mtr --mem /tmp/dir could be a directory.
      
      Now MTR_MEM=/tmp/dir ./mtr is needed.
      
      The case where MTR_MEM=/tmp/dir ./mtr --mem has the equivalent effect.
      Signed-off-by: default avatarDaniel Black <daniel.black@au.ibm.com>
      
      --mem works better as a pure flag, because it can be followed by command-line arguments (test names). If the option is allowed to have a value, the test name which directly follows it will be treated as the option value instead. It is possible to implement workarounds to avoid this, but they would not be completely reliable, and there is no practical purpose of such extension of functionality to justify them.
      b54566d7
  9. 22 Feb, 2017 1 commit
  10. 19 Feb, 2017 2 commits
  11. 05 Dec, 2016 1 commit
    • Pavan Naik's avatar
      BUG#25147154 : MTR TRIES TO COPY CONTENTS FROM /TMP/DATA · 6786caed
      Pavan Naik authored
      Description :
      =============
      When a MTR test run is started, it initializes the server and creates
      the datadir under '$MYSQL_TEST_DIR/var'('/tmp/var' or '/dev/shm/var'
      if --mem option is used) location and then copies it to the datadir
      location of server(s).
      
      If $parallel == 1, datadir location of the server is
      '$MYSQL_TEST_DIR/var/data'. If $parallel > 1, datadir location of any
      server is '$MYSQL_TEST_DIR/var/<thread_num>/data'.
      
      This is the reason MTR searches for the initialized datadir in 2
      locations('$opt_vardir' and '$opt_vardir/..') from the current vardir
      location..
      
      But this can cause few problems. If a directory with the name 'data'
      already exists under '$MYSQL_TEST_DIR' and if the MTR run is started
      with parallel value 1, then
      
      1. copytree($install_db, '$opt_vardir/..') command will fail if the
      user doesn't have the access permission to '$MYSQL_TEST_DIR/data'
      directory.
      2. Unnecessary contents from '$MYSQL_TEST_DIR/data' directory will be
      copied to server datadir location and this might affect the server
      startup.
      
      Fix :
      =====
      Depending on the $parallel value decide whether the path for the
      initialize datadir is "$opt_vardir"(i.e $parallel = 1) or
      "$opt_vardir/.."(i.e $parallel > 1).
      Reviewed-by: default avatarDeepa Dixit <deepa.dixit@oracle.com>
      Reviewed-by: default avatarSrikanth B R <srikanth.b.r@oracle.com>
      RB: 14773
      6786caed
  12. 28 Sep, 2016 2 commits
  13. 10 Sep, 2016 1 commit
    • Kristian Nielsen's avatar
      Fix use of `require` in mysql-test-run. · 577f3c1d
      Kristian Nielsen 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>
      577f3c1d
  14. 22 Aug, 2016 1 commit
    • Monty's avatar
      MDEV-10630 rpl.rpl_mdev6020 fails in buildbot with timeout · b5110969
      Monty authored
      The issue was that when running with valgrind the wait for master_pos_Wait()
      was not long enough.
      
      This patch also fixes two other failures that could affect rpl_mdev6020:
      - check_if_conflicting_replication_locks() didn't properly check domains
      - 'did_mark_start_commit' was after signals to other threads was sent which could
        get the variable read too early.
      b5110969
  15. 21 Aug, 2016 1 commit
    • Monty's avatar
      Cleanups and minor fixes · 8d5a0d65
      Monty authored
      - Fixed typos
      - Added --core-on-failure to mysql-test-run
      - More DBUG_PRINT in viosocket.c
      - Don't forget CLIENT_REMEMBER_OPTIONS for compressed slave protocol
      - Removed not used stage variables
      8d5a0d65
  16. 03 Aug, 2016 1 commit
  17. 16 Jun, 2016 1 commit
  18. 14 Jun, 2016 1 commit
  19. 24 Apr, 2016 1 commit
  20. 04 Mar, 2016 1 commit
  21. 11 Dec, 2015 1 commit
  22. 09 Oct, 2015 1 commit
  23. 05 Aug, 2015 1 commit
  24. 24 Jul, 2015 1 commit
  25. 21 Jul, 2015 1 commit
    • Jan Lindström's avatar
      MDEV-8474: InnoDB sets per-connection data unsafely · 7a967021
      Jan Lindström authored
      Analysis: At check_trx_exists function InnoDB allocates
      a new trx if no trx is found from thd but this newly
      allocated trx is not registered to thd. This is unsafe,
      because nothing prevents InnoDB plugin from being uninstalled
      while there's active transaction. This can cause crashes, hang
      and any other odd behavior. It may also corrupt stack, as
      functions pointers are not available after dlclose.
      
      Fix: The fix is to use thd_set_ha_data() when
      manipulating per-connection handler data. It does appropriate
      plugin locking.
      7a967021
  26. 27 Apr, 2015 1 commit
  27. 17 Apr, 2015 1 commit
    • Mauritz Sundell's avatar
      Bug#20814396 PB2 IS SECRET ABOUT WHAT UNIT TESTS IT RUN · 30c14893
      Mauritz Sundell authored
      One can not see in PB2 test logs which unit tests have been run
      and passed.
      
      This patchs adds an option --unit-tests-report to mtr which
      include the ctest report in mtr output.  It will also turn on unit
      testing if not explicitly turned off with --no-unit-tests or
      equivalent.
      
      In manual runs one can always look in the ctest.log file in mtr
      vardir.
      
      --unit-tests are replaced with --unit-tests-report in files under
      mysql-test/collections/ to activate report in PB2.
      30c14893
  28. 14 Apr, 2015 1 commit
    • Kristian Nielsen's avatar
      MDEV-7975: sporadic failure in test case rpl.rpl_gtid_startpos · 5d2b85a2
      Kristian Nielsen authored
      Add some suppressions that were missing. They are for if a STOP SLAVE is
      executed early during IO thread startup, when it is negotiating with the
      master. The master connection may be killed in the middle of a
      mysql_real_query(), which is not a test failure if it is a network error.
      
      This also caught one real code error, fixed with this commit: The I/O thread
      would fail to automatically reconnect if a network error happened while
      fetching the value of @@GLOBAL.gtid_domain_id.
      5d2b85a2
  29. 09 Mar, 2015 1 commit
  30. 23 Feb, 2015 1 commit
    • Kristian Nielsen's avatar
      Add error handling on realpath() call. · 41cfdc83
      Kristian Nielsen authored
      (Without this, it happened for me that realpath() failed returning
      undef for the default vardir. This in turn caused mysql-test-run.pl to
      delete the source mysql-test/ directory.)
      
      Backport from 10.1, it's not nice to get one's source directory nuked
      by a rouge mysql-test-run.
      41cfdc83
  31. 19 Jan, 2015 3 commits
  32. 14 Jan, 2015 1 commit
  33. 06 Jan, 2015 1 commit
    • Kristian Nielsen's avatar
      MDEV-7189: main.processlist fails sporadically in buildbot · 00649525
      Kristian Nielsen authored
      The test case tried to trigger a DEBUG_SYNC point at the end of a SELECT
      SLEEP(5) statement. It did this by using EXECUTE 2, intending to trigger first
      at the end of SET DEBUG_SYNC, and second at the end of the SELECT SLEEP(5).
      
      However, in --ps-protocol mode, this does not work, because the SELECT is
      executed in two steps (Prepare followed by Execute). Thus, the DEBUG_SYNC got
      triggered too early, during the Prepare stage rather than Execute, and the
      test case could race and information_schema.processlist see the thread in the
      wrong state.
      
      This patch fixes by changing the way the DEBUG_SYNC point is triggered. Now we
      add a DBUG injection inside the code for SLEEP(5). This ensures that the
      DEBUG_SYNC point is not activated until the SLEEP(5) is running, ensuring
      that the following wait for completion will be effective.
      00649525
  34. 18 Nov, 2014 1 commit
    • Sergei Golubchik's avatar
      MDEV-6975 Implement TLS protocol · cb8f837a
      Sergei Golubchik authored
      change SSL methods to be SSLv23 (according to openssl manpage:
      "A TLS/SSL connection established with these methods may understand
      the SSLv2, SSLv3, TLSv1, TLSv1.1 and TLSv1.2 protocols") from
      TLSv1 methods, that go back to the initial SSL implementation
      in MySQL in 2001.
      
      OpenSSL default ciphers are different if TLSv1.2 is enabled,
      so tests need to take this into account.
      cb8f837a
  35. 21 Oct, 2014 2 commits
    • Arun Kuruvila's avatar
      Bug #16581605: REPLACE.EXE UTILITY IS BROKEN IN 5.5 · 38e582aa
      Arun Kuruvila authored
      Description:- Replace, the string replacement utility fails
      on the windows platform.
      
      Analysis:- The utility takes files and multiple string
      pairs as input. In the windows platform, the utility maps
      the standard input incorrectly (Considers 0 as the fd for
      standard input instead of 2048 on windows). Hence when the
      input file is supplied to the utility due to the incorrect
      mapping, a bad file descriptor error is generated causing
      the utility to exit with an error.
      
      Fix:- "my_fileno()" is used for getting the correct file
      despscriptor for standard input.
      38e582aa
    • Arun Kuruvila's avatar
      Bug #16581605: REPLACE.EXE UTILITY IS BROKEN IN 5.5 · 349ac8c9
      Arun Kuruvila authored
      Description:- Replace, the string replacement utility fails
      on the windows platform.
      
      Analysis:- The utility takes files and multiple string
      pairs as input. In the windows platform, the utility maps
      the standard input incorrectly (Considers 0 as the fd for
      standard input instead of 2048 on windows). Hence when the
      input file is supplied to the utility due to the incorrect
      mapping, a bad file descriptor error is generated causing
      the utility to exit with an error.
      
      Fix:- "my_fileno()" is used for getting the correct file
      despscriptor for standard input.
      349ac8c9